【问题标题】:How to connect two NodeJS docker containers together?如何将两个 NodeJS docker 容器连接在一起?
【发布时间】:2018-12-02 15:07:41
【问题描述】:

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

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

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

【问题讨论】:

标签: node.js docker docker-compose


【解决方案1】:

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

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

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

  node2:
    image: xxx

您只需将它们称为node1node2,例如来自node2ping node1

【讨论】:

    【解决方案2】:

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

    所以从一个容器中,你将调用另一个容器作为 api 调用

    "http://servicename:port/"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-13
      • 2021-01-09
      • 2021-09-22
      • 2019-04-14
      • 2018-03-01
      • 1970-01-01
      相关资源
      最近更新 更多