【发布时间】:2018-04-03 10:59:14
【问题描述】:
在我们公司有大约 7 个项目,每个项目都基于 Docker。每个项目都包含基础服务,如 MySQL、Nginx、PHP。一些项目与其他项目进行通信。由于同一端口上有许多服务,我们为每个项目创建新的 docker 主机(docker-machine)。从这里开始会出现一些问题:
- VirtualBox 为每个 Docker 主机分配随机 IP,取决于执行顺序。
- 很难从一个项目切换到另一个项目,需要一直设置不同的shell envs。容易出错。
嗯,我正在寻找更多的企业解决方案来管理许多 docker 机器。或者一些可以帮助我解决当前情况的技术。
【问题讨论】:
-
为什么不使用不同的端口?
-
@constantin-galbenu 因为我们想在本地机器上使用端口 80 打开我们的网站。例如 site.com、site2.com 而不是 site.com:5001、site2.com:5002。
-
为此,您只能在服务前拥有一台机器和一个反向代理(即 HAProxy 或 Nginx)。
-
@constantin-galbenu 我们将相同的 docker-compose 配置部署到测试和暂存服务器。这意味着这些服务器上的端口也不会是 80。
-
所以你在两台服务器上放了一个类似的反向代理
标签: docker networking docker-compose docker-swarm docker-machine