将2个不同的容器连接到同一个mongoDB容器

时间:2019-08-12 14:06:07

标签: node.js mongodb docker docker-compose

我有2个nodejs容器,每个容器运行一个不同的应用程序,我想将它们连接到相同的mongoDB。

每个人单独运作良好,不会让我为同一个容器建立多个连接。

version: '3'
services:
  app-dpp:
    container_name: preProcessing-Docker
    restart: always
    build: 
      context: "."
      dockerfile: "/preProcessing-Docker/Dockerfile-dpp"
    ports:
      - '80:3000'
    links:
      - mongo

  app-df:
    container_name: dataFusion-Docker
    restart: always
    build: 
      context: "."
      dockerfile: "dataFusion-docker/Dockerfile-df"
    ports:
      - '80:3000'
    links:
      - mongo

  mongo:
    container_name: mongo
    image: mongo
    ports:
      - '27017:27017'
    volumes:
    - data-volume:/data/db   
volumes:
  data-volume:

我一直收到此错误:

"ERROR: for app-dpp  Cannot create container for service app-dpp: Conflict. The container name "/preProcessing-Docker" is already in use by container "cc01c6f8189a50f95438309860dcb959232c7da4606054ec9d79b9340a532398". You have to remove (or rename) that container to be able to reuse that name."

我想拥有相同的数据库,因为在两个模块之间共享数据库比拥有两个数据库更好。

1 个答案:

答案 0 :(得分:0)

您已经有一个名称为preProcessing-Docker的容器。由于docker不允许您使用同一个名称的多个容器,因此它将不起作用。

键入docker container ls -a列出您的所有容器,然后删除该名称存在的容器,然后docker-compose up删除,它应该可以工作。

希望有帮助。

相关问题