从本地计算机上的Mongo Compass连接到Mongo Docker容器?

时间:2020-04-07 15:01:19

标签: mongodb docker docker-compose ip compass

我有以下docker compose文件,可用于启动mongo码头集装箱,该码头集装箱可以按预期工作。

但是,我似乎无法从本地计算机上的compass连接到容器。

我做了一个docker inspect的mongo容器,得到了它的IP,并尝试使用它在罗盘中进行连接,但是它没有用-连接只是超时。

是我的docker网络的IP还是我需要的mongo容器的IP?

docker撰写文件:

version: "3"
services:
  pokerStats:
    image: pokerStats
    container_name: pokerStats
    ports:
      - 8080:8080
    depends_on: 
      - db
  db:
    image: mongo
    container_name: mongo
    volumes:
      - ./database:/data
    ports:
      - "27017:27017"

2 个答案:

答案 0 :(得分:1)

您正在将端口27017从您的主机映射到容器上的端口27017。因此,以下连接字符串应该有效mongodb://localhost:27017

答案 1 :(得分:1)

我能够使用this question上的最佳答案来解决这个问题。

我必须更改我的docker-compose文件以在本地上公开端口27018:

  db:
    image: mongo
    container_name: mongo
    volumes:
      - ./database:/data
    ports:
      - "27018:27017"

我在Compass上的连接详细信息为:

enter image description here