导航
1 场景举例
我有一个 nginx 的 docker-compose.yml,又有一个 webapp 的 docker-compose.yml。
由于某种原因,不能把它们放到同一个 docker-compose.yml 文件中,又希望可以用 nginx 对 webapp 进行反向代理(它们需要在同一个网络中,nginx 要能访问到 webapp)。
2 方案
nginx 的 docker-compose.yml
(一定要 3.5 版本)
version: "3.5"
services:
my-nginx:
image: nginx
ports:
- "80:80"
networks:
- nginx-net
networks:
nginx-net:
name: nginx_network
webapp 的 docker-compose.yml
version: "2"
services:
webapp:
image: myapp
networks:
- nginx-net
networks:
nginx-net:
external:
name: nginx_network
启动之后,可以用 docker network ls 和 docker network inspect 命令查看网络状态。
3 原理浅释
nginx 创建了名为 nginx_network 的网络,webapp 加入了它。
ref:https://stackoverflow.com/questions/38088279/communication-between-multiple-docker-compose-projects
