我有两个 Docker 容器:node-a、node-b。其中一个(node-b)应该向另一个(node-a)发送http请求。我从 Docker Compose 开始。当我尝试使用 Compose 提升它们时,我遇到了一个错误:
获取http://node-a:9098 : 拨打 tcp 172.18.0.3:9098: getsockopt: 连接被拒绝
EXPOSE 在 a-node 的 Docker 文件中声明:
EXPOSE 9098
码头工人-compose.yml:
version: '3'
services:
node-a:
image: a
ports:
- 9098:9098
volumes:
- ./:/a-src
depends_on:
- redis
node-b:
image: b
volumes:
- ./:/b-src
depends_on:
- node-a
转发已启用。我相信服务器启动是因为它在没有 Docker 的情况下运行良好。
我应该注意哪里?什么可能导致问题?
编辑:
我尝试添加链接,但没有效果:
node-b:
image: b
volumes:
- ./:/b-src
links:
- node-a
depends_on:
- node-a
links
似乎也已被弃用,并且与 docker-compose.yml 的 2+ 版本执行相同的操作depends_on
:
docker-compose 执行 V2 文件,它会自动在文件中定义的所有容器之间建立一个网络,每个容器都可以立即使用 docker-compose.yml 文件中定义的名称来引用其他容器。