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

问题描述 投票:0回答:1

嗨我运行了两个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

提前致谢。

node.js docker
1个回答
1
投票

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

  1. 因为它是p-1
  2. 因为它是p-2
  3. MySQL的

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

© www.soinside.com 2019 - 2024. All rights reserved.