我有两个Docker容器:node-a,node-b。其中一个(node-b)应该向其他(node-a)发送http请求。我是用Docker Compose开始的。当我用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
似乎已被弃用,并且在2+版本的docker-compose.yml中与depends_on
做同样的事情:
docker-compose执行V2文件,它会自动在文件中定义的所有容器之间建立一个网络,并且每个容器都可以使用docker-compose.yml中定义的名称立即引用其他容器。文件。
答案 0 :(得分:0)
使用links
将容器链接到服务。 (docker-compose documentation on links)。
示例:
node-b:
image: b
volumes:
- ./:/b-src
depends_on:
- node-a
links:
- node-a