如何将两个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

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

以上是关于如何将两个NodeJS docker容器连接在一起?的主要内容,如果未能解决你的问题,请参考以下文章

将 NodeJS Docker 容器连接到 MySQL Docker 容器 - docker-compose 3

如何将两个 docker 容器与 nomad 连接

如何在 Docker-Compose 中一起使用主机网络和任何其他用户定义的网络?

如何将nodeJS docker容器连接到mongoDB

如何使用Docker将NodeJS应用程序与cron作业进行容器化?

聊聊docker容器安装nodejs环境遇到的坑