无法连接到 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
我有一个 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