我正在尝试在一个docker-compose中运行两个MongoDB。由于我想在每个数据库中存储不同的数据,因此需要通过不同的端口来区分它们。如果我运行以下docker-compose,则端口27017一切正常,但我无法访问端口27018。在控制台中,这两种服务的外观都相同,端口27018上的服务仅缺少以下日志:
NETWORK [initandlisten]等待端口27017上的连接
(显示为端口27017)
当我尝试在浏览器中访问这两种服务时,端口27017上的一项有效,而27018上的一项无效。
如果有人能帮助我解决这个问题,我感到非常高兴。长期以来一直在努力。谢谢!
这是我的代码:
version: "3"
services:
mongo:
image: mvertes/alpine-mongo:4.0.1-0
volumes:
- mongoDBvolume:/data/db
ports:
- "27017:27017"
testmongo:
image: mvertes/alpine-mongo:4.0.1-0
command: mongod --port 27018
volumes:
- mongoDBvolume:/data/testdb
ports:
- "27018:27017"
volumes:
mongoDBvolume:
driver: local
最佳答案
只需删除command: mongod --port 27018
,它将在容器内的端口27017上。
流程如下:
主机27018 Docker桥27018:27017 mongo容器27017