无法连接到 docker 容器中的 mongodb 运行

Not able to connect to mongodb running in docker container

我有一个 mongoDB 数据库容器 运行,但我无法使用 Robo 3T 连接到它,出现以下错误。

关于我在这里遗漏了什么的任何帮助。

将 mongodb 端口绑定到您的 docker 主机以使用主机的本地主机访问它 -

docker run -d -p 27017:27017 ....

我怀疑你不见了-p 27017:27017

查看 docker ps 输出的 PORTS 列:

PORTS
27017/tcp

未指定映射(-> 符号)。这意味着容器端口不会在 docker 网络之外发布。

两种可能的方法来解决您的问题:

  • 不要将 localhost 指定为主机名,而是将容器 ip 指定为:您可以使用 docker inspect CONTAINER 检索它。如果您使用 cygwin:docker inspect CONTAINER | grep IPAddress
  • 在主机上发布 mongo 容器端口。您可以使用 -p 参数(例如 -p HOST_PORT:CONTAINER_PORT.
    在同一端口上发布或不发布它 例如使用相同的端口:docker run -d -p 27017:27017 mongo:latest

您可以看到 docker ps 端口现在已在主机上发布:

PORTS
0.0.0.0:27017->27017/tcp