我有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."
我想拥有相同的数据库,因为在两个模块之间共享数据库比拥有两个数据库更好。
答案 0 :(得分:0)
您已经有一个名称为preProcessing-Docker
的容器。由于docker不允许您使用同一个名称的多个容器,因此它将不起作用。
键入docker container ls -a
列出您的所有容器,然后删除该名称存在的容器,然后docker-compose up
删除,它应该可以工作。
希望有帮助。