Docker compose服务名称与外部网络冲突
我试图通过使用连接在docker compose上运行的两个本地开发的项目 从一方面来说,我有一个打算公开的第一个应用程序。组合包含主机:Docker compose服务名称与外部网络冲突,docker,docker-compose,docker-networking,Docker,Docker Compose,Docker Networking,我试图通过使用连接在docker compose上运行的两个本地开发的项目 从一方面来说,我有一个打算公开的第一个应用程序。组合包含主机:app和rabbit: version: '3.4' services: app: # ... rabbit: # ... networks: default: driver: bridge 另一方面,我有第二份申请,预计会看到第一份申请: version: '3.4' services: app: #
app
和rabbit
:
version: '3.4'
services:
app:
# ...
rabbit:
# ...
networks:
default:
driver: bridge
另一方面,我有第二份申请,预计会看到第一份申请:
version: '3.4'
services:
app:
# ...
networks:
- paymentservice_default
- default
networks:
paymentservice_default:
external: true
到达主机rabbit.paymentservice\u默认值是可能的
但是服务app
(1)与app
(2)冲突:
通常从第二个角度来看,主机app
和app.paymentservice\u default
共享相同的IP,使得app.paymentservice\u default
无法发现
这里的问题是,我是否有正确的配置,并且在不更改服务名称的情况下可以避免冲突?为什么会有这种限制?考虑到每个docker compose配置都是跨项目共享的,并且可以在micro services world中开发
$ docker-compose --version
docker-compose version 1.17.1, build unknown
$ docker --version
Docker version 19.03.4, build 9013bf583a
谢谢。如果指定任何网络:
,则应用程序
容器将不会附加到其自己的撰写文件的默认网络;您需要明确列出它。但我不知道这是否有助于解决你的问题。是的,你是对的。我会更新这个问题。但是,这个网络不是问题。当您运行docker compose up时,尝试添加-p project\u name
更好地使用swarm服务(如果不是K8s),您尝试过了吗?
$ docker-compose --version
docker-compose version 1.17.1, build unknown
$ docker --version
Docker version 19.03.4, build 9013bf583a