ECONNREFUSED:同一个docker网络中两个docker容器之间的通信无法正常工作

时间:2018-03-27 13:34:21

标签: node.js docker

您好我运行了两个Docker容器,其中包含节点应用程序,这意味着我正在尝试在单独环境中运行的两个节点应用程序之间进行通信。 这两个容器都位于名为my-network的同一网络中。我尝试使用docker exec -it <container-name-or-id> /bin/bash进入容器内部并将ping运行到另一个容器中。看起来两个容器彼此都可以访问,但是当我尝试使用request modulehostname作为<other-container-name>连接到节点应用程序内的其他容器时。

现在我收到以下错误: Error: connect ECONNREFUSED x.x.x.x:xxxx

提前致谢。

1 个答案:

答案 0 :(得分:1)

我找到了问题的问题。 实际上在我的docker-compose.yml我提到了三个服务:

  1. 节点-APP-1
  2. 节点-APP-2
  3. MySQL的
  4. 此处,容器node-app-1正在尝试与容器node-app进行通信,该容器必须具有运行的node express服务器并且正在侦听sepcific端口x.x.x.x.但是在node-app-2中的应用程序试图创建与mysql容器的连接以进行数据库访问。由于密码特定原因,它无法连接到连接到mysql,因此其中的快速应用程序崩溃并且服务器内部没有听那个提到的港口。 因此当容器node-app-1尝试连接到其他容器时,它会抛出错误connection refused