【发布时间】:2019-12-19 23:37:40
【问题描述】:
我的宠物项目包括两台服务器。每个都有自己的 docker-compose 环境,前端有 nginx,后面有不同的图像/服务。
这些服务器位于同一个域中,例如 main.example.com 和 subdomain.example.com。
目标是在我的开发机器上运行这两个实例,以简化调试、测试等...
我了解同一端口(此处为 80/443)只能在主机中分配一次,因此我的两台服务器(或更多!)不能同时出现。
但是有没有办法接近这个?我的一个限制是我想尽可能使用真实域名,避免硬编码 IP 等......知道我想到的一个练习是在 main.example.com 服务器中实现 DNS 服务器对于子域。因此,坚持尽可能接近现实的设置很重要。
我曾想过在 docker 中运行 docker,将所有这些包装到另一层网络中,模拟通过 WAN,但显然这是一堆蠕虫,我不确定这会给我带来什么想要在网络层面。
有解决办法吗?或者我最好使用至少两个物理主机(意味着不能轻松地在移动中工作等......)?
谢谢!
【问题讨论】:
-
您可以在本地系统上的两个 (Linux) VM 上运行它,然后在每个 VM 上运行 Docker 和堆栈的其余部分。从拓扑上讲,这与您要部署的内容非常相似。我不会尝试在那种环境中进行实时开发,但它对于测试部署设置等非常有用。
标签: docker nginx networking docker-compose