【发布时间】:2019-04-15 13:47:26
【问题描述】:
我正在寻找支持 tld 的多个 nginx 容器的最佳实践。请考虑以下 docker-compose 文件:
frontend:
build:
context: nginx/
hostname: frontend-docker
ports:
- "32777:80"
backend:
build:
context: nginx/
hostname: backend-docker
ports:
- "33777:80"
proxy:
image: nginx
hostname: proxy-docker
links:
- frontend
- backend
ports:
- "80:80"
描述 如您所见,我可以在 localhost:32777 和 localhost:33777 访问前端和后端,但是当我要访问 prod 时,我想在 site.com 访问前端和在 backend.site 访问后端。 com。在这种情况下,proxy 容器会包含 server_name backend.site.com; 和 server_name site.com 并创建到 http://frontend 和 http://backend 的反向代理
我的问题是我应该摆脱代理容器并将server_name 部分直接放入frontend 和backend 容器中,甚至构建一个名为web 的容器,其中包含backend and frontend在那里。
一般而言,以这种方式拆分容器在配置、环境变量、构建不同的镜像等方面更合适。
【问题讨论】:
标签: docker nginx containers