使多个Node js dockerized应用程序与mongodb docker通信

SathyaNarayanan V

我建立了两个共享一个公共数据库的NEST应用程序。我一直在尝试找出一种方法来使这两个应用程序从Mongo数据库容器中获取数据。我坚持这个过程。

带有应用程序1的docker-compose.yml

version: '3'

services:  
  backend:
    image: 'example-image_1:1.0.0'
    working_dir: /app/example-app-1/backend/example-app-1-api
    environment:
      - DB_URL=mongodb://0.0.0.0:27017/example_app_1
      - BACKEND_PORT=3333
      - BACKEND_IP=0.0.0.0
    restart: always
    network_mode: "host"
    ports:
      - '3333:3333'
    command: ['node', 'main.js']
    depends_on:
      - mongodb

    expose:
      - 3333

  mongodb:
    image: 'mongo:latest'
    environment:
      - 'MONGODB_DATABASE="example_app_1"'
    ports:
      - '27017:27017'
    expose:
      - 27017

带有app-2的docker-compose.yml

version: '3'

services:   
  backend:
    image: 'example_app_2:1.0.0'
    working_dir: /app/example_app_2/backend/example-app-2-api
    environment:
      - DB_URL=mongodb://0.0.0.0:27017/example_app_2
      - BACKEND_PORT=8888
      - BACKEND_IP=0.0.0.0
    restart: always
    ports:
      - '8888:8888'
    command: ['node', 'main.js']
    expose:
      - 8888

  mongodb:
    image: 'mongo:latest'
    environment:
      - 'MONGODB_DATABASE="example_app_2"'
    ports:
      - '27017:27017'
    expose:
      - 27017

我需要帮助使这些应用与普通容器通信-mongodb

单击链接进行体系结构设置

安德里亚·弗兰基尼(Andrea Franchini)

由于您使用的是2种不同的设备docker-compose.yml,因此实际上您在2种设备上运行了2个后端和2个mongodbdocker-networks

2个mongo之一无法启动,因为该端口已被占用。

选项1(更细):

services:   
  backend_1:
      ...
    ports:
      - '8888:8888'
  backend_2:
      ...
    ports:
      - '8899:8899'

  mongodb:
    ports:
      - '27017:27017'

此设置在同一网络上提供3个容器。现在您可以从两个后端的mongo访问<mongo_ip>:27017

选项2(丑陋):

services:   
  backend:
      ...
    ports:
      - '8888:8888'

  mongodb:
    ports:
      - '27017:27017'

然后在另一个docker-compose中

services:   
  backend:
      ...
    ports:
      - '8888:8888'

此设置在2个不同的网络上提供3个容器。在此设置中,每个docker-compose.yml都有自己的泊坞窗网络,因此从第二个后端服务中,您必须连接到另一个泊坞窗网络才能访问该容器。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法运行docker node.js应用程序

来自分类Dev

AWS Opsworks多个Node.js应用程序?

来自分类Dev

AWS Node.js多个应用程序/ URL

来自分类Dev

Node.js 多个 Web 应用程序

来自分类Dev

托管Node.js + MongoDB应用程序的最佳实践

来自分类Dev

MongoDB无法在node.js应用程序中更新?

来自分类Dev

允许 Node.js 应用程序与 Kubernetes 集群上的 Pod 通信

来自分类Dev

多个应用程序之间的通信

来自分类Dev

多个Docker主机通信

来自分类Dev

如何Dockerise前端应用程序以与已经被dockerized的api应用程序通信

来自分类Dev

通过本地网络在两个 node.js 应用程序之间进行简单通信

来自分类Dev

如何为node.js应用程序创建ubuntu的Docker映像

来自分类Dev

使用docker swarm扩展Node.js Express应用程序

来自分类Dev

Node.js Web 应用程序未在 Docker 堆栈中正常运行

来自分类Dev

如何在 Docker 映像上提高 Node.js 应用程序的日志级别?

来自分类Dev

Node.js应用程序侦听Openshift上托管的多个端口

来自分类Dev

在Node.js Express框架中的不同端口上运行多个应用程序

来自分类Dev

如何在应用程序启动时以sequqlize(Node.js)保存多个值

来自分类Dev

如何在 node.js 中禁止同一应用程序的多个实例?

来自分类Dev

一个包含多个 Heroku 应用程序的 node.js 代码库

来自分类Dev

保持Node JS应用程序运行

来自分类Dev

如何分发Node JS应用程序?

来自分类Dev

如何在Node.js / Express / MongoDB应用程序中将Markdown转换为HTML

来自分类Dev

在 Node JS 中将注册用户保存到 MongoDB 的问题 - Express 应用程序

来自分类Dev

如何在 Linux 服务器上部署 Node.js 和 MongoDB 应用程序

来自分类Dev

如何使用 docker 使用单个 mongodb 运行多个应用程序

来自分类Dev

使用意图与多个活动进行应用程序通信

来自分类Dev

如何使用 docker-composer 运行 node js docker 容器来管理 php 应用程序资产

来自分类Dev

如何让用户能够使用多个通信应用程序共享应用程序?

Related 相关文章

  1. 1

    无法运行docker node.js应用程序

  2. 2

    AWS Opsworks多个Node.js应用程序?

  3. 3

    AWS Node.js多个应用程序/ URL

  4. 4

    Node.js 多个 Web 应用程序

  5. 5

    托管Node.js + MongoDB应用程序的最佳实践

  6. 6

    MongoDB无法在node.js应用程序中更新?

  7. 7

    允许 Node.js 应用程序与 Kubernetes 集群上的 Pod 通信

  8. 8

    多个应用程序之间的通信

  9. 9

    多个Docker主机通信

  10. 10

    如何Dockerise前端应用程序以与已经被dockerized的api应用程序通信

  11. 11

    通过本地网络在两个 node.js 应用程序之间进行简单通信

  12. 12

    如何为node.js应用程序创建ubuntu的Docker映像

  13. 13

    使用docker swarm扩展Node.js Express应用程序

  14. 14

    Node.js Web 应用程序未在 Docker 堆栈中正常运行

  15. 15

    如何在 Docker 映像上提高 Node.js 应用程序的日志级别?

  16. 16

    Node.js应用程序侦听Openshift上托管的多个端口

  17. 17

    在Node.js Express框架中的不同端口上运行多个应用程序

  18. 18

    如何在应用程序启动时以sequqlize(Node.js)保存多个值

  19. 19

    如何在 node.js 中禁止同一应用程序的多个实例?

  20. 20

    一个包含多个 Heroku 应用程序的 node.js 代码库

  21. 21

    保持Node JS应用程序运行

  22. 22

    如何分发Node JS应用程序?

  23. 23

    如何在Node.js / Express / MongoDB应用程序中将Markdown转换为HTML

  24. 24

    在 Node JS 中将注册用户保存到 MongoDB 的问题 - Express 应用程序

  25. 25

    如何在 Linux 服务器上部署 Node.js 和 MongoDB 应用程序

  26. 26

    如何使用 docker 使用单个 mongodb 运行多个应用程序

  27. 27

    使用意图与多个活动进行应用程序通信

  28. 28

    如何使用 docker-composer 运行 node js docker 容器来管理 php 应用程序资产

  29. 29

    如何让用户能够使用多个通信应用程序共享应用程序?

热门标签

归档