Nir*_*han 6 docker docker-compose
我在一个 docker-compose 文件中运行了两个不同的服务。我通过引用容器的服务名称来与每个服务交谈。
现在我希望我的容器 A 也能访问 localhost。为此,当我添加了“network_mode=host”的配置时,但这会产生一个错误,指出容器 A 无法与容器 B 通信。
version: '2'
services:
rocketchat:
image: myimage
environment:
- MONGO_URL=mongodb://mongo:27017/dbname
depends_on:
- mongo
ports:
- 3000:3000
network_mode: host
mongo:
image: mongo:3.2
ports:
- 27017:27017
Run Code Online (Sandbox Code Playgroud)
对于每个撰写文件,docker-compose 创建一个网络,所以在这种情况下,我是否也应该手动将容器分配到专用网络?或者是否有任何解决方法可以访问这两个网络?
Lin*_*nPy 10
尝试添加links:
version: '2'
services:
rocketchat:
image: myimage
environment:
- MONGO_URL=mongodb://mongo:27017/dbname
depends_on:
- mongo
ports:
- 3000:3000
links:
- mongo
#network_mode: host
mongo:
image: mongo:3.2
ports:
- 27017:27017
Run Code Online (Sandbox Code Playgroud)
network_mode: host如果您使用链接,则不需要
编辑 - 其他解决方案:
version: '2'
services:
rocketchat:
image: myimage
environment:
- MONGO_URL=mongodb://localhost:27017/dbname
depends_on:
- mongo
ports:
- 3000:3000
network_mode: host
mongo:
image: mongo:3.2
ports:
- 27017:27017
network_mode: host
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17682 次 |
| 最近记录: |