Docker:在暴露的端口上拒绝连接

我有两个Docker容器:node-a,node-b。 其中一个(node-b)应该发送http请求到其他(node-a)。 我使用Docker Compose启动它们。 当我试图用“撰写”来撰写这些文章时,我遇到了一个错误:

获取http://节点 -a: 9098 :拨号tcp 172.18.0.3:9098:getsockopt:连接被拒绝

在a-node的Docker文件中声明EXPOSE:

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似乎被弃用,并在depends_on -compose.yml的2+版本中执行与depends_on相同的操作:

docker-compose执行V2文件时,它会自动在文件中定义的所有容器之间build立一个networking,每个容器将立即使用docker-compose.yml文件中定义的名称引用其他容器。

使用链接将容器链接到服务。 ( docker – 撰写链接的文件 )。

例:

 node-b: image: b volumes: - ./:/b-src depends_on: - node-a links: - node-a