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

时间:2018-12-02 15:07:41

标签: node.js docker docker-compose

我已经在该文件中创建了一个docker compose文件,我创建了三个容器,1个mysql容器和2个NodeJS容器。

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

但是我在将两个NodeJS容器连接在一起时遇到问题,我在第二个容器中的depends_on中添加了service1,但是在我的JavaScript代码中,我不确定为URL键入什么而不是我使用的localhost:3000在使用docker

之前

2 个答案:

答案 0 :(得分:1)

docker-compose中声明服务时,请给它们命名。这些名称将成为docker容器的hostnames,如果您不手动重新配置网络,希望您不要。

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

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

  node2:
    image: xxx

例如,您仅将它们称为node1node2,例如ping node1中的node2

答案 1 :(得分:0)

使用docker-compose组合服务时,当它们位于同一网络上时(默认),服务名称将变为主机名。

因此,从一个容器中,您将以

的方式对另一个容器进行api调用
"http://servicename:port/"