当前位置: 首页 > 知识库问答 >
问题:

如何运行多个MongoDBs在docker-comment中的不同端口?

邓光赫
2023-03-14

我试图在一个docker组件中运行两个MongoDB。因为我想在每个数据库中存储不同的数据,所以我需要通过不同的端口来区分它们。如果我运行以下docker compose,端口27017的所有功能都正常,但我无法访问端口27018。在控制台中,两个服务的所有内容看起来都一样,端口27018上的服务只缺少以下日志:

网络[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个答案

赵镜
2023-03-14

只需删除命令:mongod--port 27018,这样它就位于容器内部的端口27017上。

流程如下所示:

主机27018

 类似资料:
  • docker如何在Debian主机上运行,或者在容器中运行OpenSUSE?它使用不同的内核,具有不同的模块。另外,老版本的Debian使用了老版本的内核,那么如何在3.10+版本的内核上运行它呢?旧的内核只有旧的内置功能,旧的发行版如何管理新的功能?这里面有什么“诀窍”?

  • 问题内容: 我正在使用使用node_redis的kue,但是我已经在会话中使用了,所以我想在特定端口上创建一个服务器,说默认值,然后在port上侦听。 我将如何做到这一点?我发现这篇文章讨论的是类似的内容,但是我并不是真的想要创建一个初始化脚本来执行此操作。 问题答案: 启动redis-server并为“ port”提供一个不同的参数,可以在命令行中完成: 例如,您也可以这样做,以便在启动时进行。

  • 我有一个情况,我需要启动两个线程一个接一个。我尝试了以下代码片段,在这里我可以启动Thread12,但不能启动Thread2。我怎样才能开始两个......?如何启动两个线程一个接一个...? 代码片段

  • 问题内容: 我正在使用在3个不同的docker上运行的应用程序: 第一个是可通过REST API调用的服务器HTTP 第二个是rabbitmq 第三个是工人 整个应用程序使用 真的很简单:) 我想使其具有可伸缩性,并且独立于其他应用程序运行整个应用程序的多个实例(3个docker映像),然后放置一个负载平衡器,例如它将重定向到其中一个应用程序。 我看到我可以使用它,但是问题是可以缩放容器,但是我真

  • $sudo docker运行--ulimit fsize=10240 cpu=12-it ubuntu/bin/bash docker:解析引用时出错:“cpu=12”不是有效存储库/标记。请参阅'Docker run--help'。 $sudo docker运行--ulimit Fsize=10240--ulimit cpu=12-it ubuntu/bin/bash root@EA4B0037

  • Docker-compose.yaml 我怎么能那么做?