如何在docker-compose中运行具有不同端口的多个MongoDB?

时间:2019-01-04 11:57:11

标签: mongodb docker docker-compose multiple-instances

我试图在一个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

1 个答案:

答案 0 :(得分:1)

只需移除select ext_id from table_name t where rand() < 2000 / 10000000 order by rand() limit 1000; ,它就将位于容器内的端口27017上。

流程类似于:

主机27018 <->码头桥27018:27017 <-> mongo容器27017