最近开始学习 docker,自己想搞一些小玩意儿,然后统统丢到一个云主机上部署,省钱嘛。学习过程中有一些疑问,我想还是在 V 站问一下能够减少我之后踩坑的时间。
1、假如我在容器 A 和容器 B 上各部署了一个网站,想要解析到不同的 url 路径,比如 localhost/websiteA 和 localhost/websiteB,最佳实践是怎样的?我有搜索到用 nginx,那我的 nginx 是部署到宿主机比较好呢,还是新建一个容器 C 专门做反向路由呢?
2、我在本地用到了几个容器,把他们部署到云主机的时候,是一个个地 docker pull 呢,还是有更好的方法来实现?开发环境使用的是 Windows/macOS 的 docker,云主机用 Linux 的 docker,会出现问题吗?
看了一下 k8s 的文档,感觉 k8s 能够解决问题 2。不过以我粗浅的理解,k8s 貌似很重的样子,我并不存在多个物理服务器,也不需要多个灾备实例的呀。所以不知道 k8s 是不是解决这个问题的正确方向。
1
dcalsky 2019-11-19 17:22:41 +08:00 via Android 1
你目前还用不到 k8s。
1. 新建容器 c,nginx image 或者 traefik 作为代理,然后用 docker-compose 去连接这些 abc 容器到同一个 network 下。这样能实现简单的服务发现啦。 2. 还是用 docker-compose,写一个 docker-compose.yaml 配置文件,就可以一键 pull 或 push 镜像啦。 2.5. 一般不会出现问题,版本一致的话放心用就好了 |
2
zhongdian121 OP @dcalsky 好的,我这就去学习一下 docker-compose 和 traefik
|
3
lllllliu 2019-11-21 11:12:54 +08:00
@dcalsky 借楼请教一下,我有 APP1 ( php+mysql )有 APP2 ( go+mysql ) 我是把 APP1 和 APP2 直接打包成一个镜像好。还是每个都用 compose 编排。这样的话如果想让两个 APP 的数据都能存 /读一个 mysql,是不是要单独部署一个 mysql ? emmmm
|