如何连接到Docker容器的MongoDb

roqulrg3  于 2022-11-03  发布在  Docker
关注(0)|答案(2)|浏览(193)

我已经创建了下面的docker-compose.yml:

version: "3"
services:
  mongo:
    image: mongo:latest
    environment:
      MONGO_INITDB_ROOT_USERNAME: admin
      MONGO_INITDB_ROOT_PASSWORD: admin
    ports:
      - '27017:27017'

然后我启动我的容器:

docker-compose up

然后我尝试连接到MongoDb Compass(也尝试通过c#代码),如下所示:

  • //管理员:管理员@本地主机:27017/?身份验证源=管理员
  • 管理员://管理员:管理员@本地主机:27017
  • 网站名称admin:admin@127.0.0.1:27017

但我总是收到“身份验证失败”消息:

我真的不明白这是怎么回事我错过了什么。
抱歉问了这么蠢的问题...

waxmsbnn

waxmsbnn1#

您所看到的行为表明您的系统上已经有另一个mongodb示例在运行(使用不同的身份验证凭据)。停止Docker容器并检查是否仍有mongodb服务在端口27017上侦听。

8cdiaqws

8cdiaqws2#

我认为最好将端口设置为

ports:
   - '27012:27017'

所以你不需要从你的系统中删除任何东西。现在你可以像往常一样连接,只是改变端口到27012而不是27017
这样你也可以使用更多的端口运行多个monogdb,而不会出现任何问题。在我的例子中,我仍然需要运行本地mongodb,因为端口27017会自动连接到它。

相关问题