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

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

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

2个NodeJS容器正确连接到mysql容器。

但是我在将两个NodeJS容器连接在一起时遇到问题我已经在depends_on中为第二个添加了service1但是在我的javascript代码中我不知道要为url而不是localhost:3000输入我在使用docker之前使用的

node.js docker docker-compose
2个回答
0
投票

使用docker-compose撰写服务时,如果服务名称位于同一网络(默认设置),则该服务名称将成为主机名。

因此,从一个容器中,您将对其他容器进行api调用

"http://servicename:port/"

1
投票

当您在docker-compose中声明服务时,请为其指定名称。这些名称成为docker容器的hostnames,如果你不手动重新配置网络,我希望你不要。

所以,在yaml中有2个服务:docker-compose.yml

version: '3'
services:
  node1:
    image: xxx

  node2:
    image: xxx

你只需将它们称为node1node2,例如来自ping node1node2,例如

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