Node.js 如何将两个NodeJS docker容器连接在一起?

Node.js 如何将两个NodeJS docker容器连接在一起?,node.js,docker,docker-compose,Node.js,Docker,Docker Compose,我已经创建了一个docker compose文件,在这个文件中我创建了三个容器,一个mysql容器和两个NodeJS容器 两个NodeJS容器正确连接到mysql容器 然而,我在将两个NodeJS容器连接在一起时遇到了问题,我在dependens中为第二个容器添加了service1,但是在我的javascript代码中,我不确定应该为url键入什么,而不是使用docker之前使用的localhost:3000。当您在docker compose中声明服务时,您可以为它们命名。这些名称将成为doc

我已经创建了一个docker compose文件,在这个文件中我创建了三个容器,一个mysql容器和两个NodeJS容器

两个NodeJS容器正确连接到mysql容器


然而,我在将两个NodeJS容器连接在一起时遇到了问题,我在dependens中为第二个容器添加了service1,但是在我的javascript代码中,我不确定应该为url键入什么,而不是使用docker之前使用的localhost:3000。当您在docker compose中声明服务时,您可以为它们命名。这些名称将成为docker容器的主机名,如果您不手动重新配置网络,我希望您不会

因此,在yaml有2项服务: docker-compose.yml


您只需将它们称为node1和node2,就像从node2 ping node1一样,例如

当您使用docker compose组合服务时,当它们位于同一网络上时,服务名称将成为主机名,这是默认设置

因此,从一个容器中,您将根据需要对另一个容器进行api调用

"http://servicename:port/"

您可以使用link链接node.js容器,该容器调用另一个容器,并使用链接名称对其进行寻址,或者更好,您必须在docker网络中定义它们可能的副本
"http://servicename:port/"