如何将两个NodeJS docker容器连接在一起?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将两个NodeJS docker容器连接在一起?相关的知识,希望对你有一定的参考价值。
我在这个文件中创建了一个docker compose文件,我创建了三个容器,一个mysql容器和两个NodeJS容器。
2个NodeJS容器正确连接到mysql容器。
但是我在将两个NodeJS容器连接在一起时遇到问题我已经在depends_on中为第二个添加了service1但是在我的javascript代码中我不知道要为url而不是localhost:3000输入我在使用docker之前使用的
答案
使用docker-compose
撰写服务时,如果服务名称位于同一网络(默认设置),则该服务名称将成为主机名。
因此,从一个容器中,您将对其他容器进行api调用
"http://servicename:port/"
另一答案
当您在docker-compose
中声明服务时,请为其指定名称。这些名称成为docker容器的hostnames
,如果你不手动重新配置网络,我希望你不要。
所以,在yaml中有2个服务:docker-compose.yml
version: '3'
services:
node1:
image: xxx
node2:
image: xxx
你只需将它们称为node1
和node2
,例如来自ping node1
的node2
,例如
以上是关于如何将两个NodeJS docker容器连接在一起?的主要内容,如果未能解决你的问题,请参考以下文章
将 NodeJS Docker 容器连接到 MySQL Docker 容器 - docker-compose 3
如何在 Docker-Compose 中一起使用主机网络和任何其他用户定义的网络?