我已经在该文件中创建了一个docker compose文件,我创建了三个容器,1个mysql容器和2个NodeJS容器。
2个NodeJS容器正确连接到mysql容器。
但是我在将两个NodeJS容器连接在一起时遇到问题,我在第二个容器中的depends_on中添加了service1,但是在我的JavaScript代码中,我不确定为URL键入什么而不是我使用的localhost:3000在使用docker
之前答案 0 :(得分:1)
在docker-compose
中声明服务时,请给它们命名。这些名称将成为docker容器的hostnames
,如果您不手动重新配置网络,希望您不要。
因此,在yaml中有2个服务: docker-compose.yml
version: '3'
services:
node1:
image: xxx
node2:
image: xxx
例如,您仅将它们称为node1
和node2
,例如ping node1
中的node2
答案 1 :(得分:0)
使用docker-compose
组合服务时,当它们位于同一网络上时(默认),服务名称将变为主机名。
因此,从一个容器中,您将以
的方式对另一个容器进行api调用"http://servicename:port/"