如何解决Mongo容器无法运行Mongo服务器
我试图从mongo映像构建mongo容器 mongo服务器未启动
我使用的命令是
docker pull mongo
docker run -d -p 27017:27017 -v $PWD/mongodata:/data/db --network host --name mongodb mongo
然后我通过使用进入容器来进行测试
docker exec -it mongodb bash
然后,当我在容器的终端中键入“ mongo”时,它表明它无法连接到服务器
关于可能出了什么问题的任何想法
解决方法
为了调试类似的内容,请在没有-d
的情况下运行它,以在标准输出中清楚地看到错误。
您的问题很可能是以下两个问题之一:
- 您正在混合使用
--port
和--network host
- 您要挂载的目录是NFS或其他非标准目录(您正在使用Vagrant吗?)。
先尝试此操作(无音量),看看是否可行:
$ docker run --rm -p 27017:27017 --name mongodb mongo
如果确实如此,请添加该卷,但是这次使用另一个目录,例如:
$ docker run --rm -p 27017:27017 -v /tmp/mongodata:/data/db --name mongodb mongo
还要注意,我已经删除了--network host
-您should not mix port exposure and host network。选择一个。
在此之后,甚至在尝试连接之前,请确认它正在运行:
$ docker ps
最后,从主机或容器内连接到它:
$ docker exec -it mongodb mongo
最后,作为尝试使用任何docker堆栈的另一种方法,请考虑使用docker compose。这是您的mongo实验之一:
version: '3'
services:
server:
image: mongo
ports: ["27017:27017"]
client:
image: mongo
depends_on: [server]
entrypoint: mongo --host server
现在您可以运行:
$ docker-compose run --rm client
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。