我试图从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”时,它表明它无法连接到服务器
关于可能出了什么问题的任何想法
答案 0 :(得分:0)
为了调试类似的内容,请在没有-d
的情况下运行它,以在标准输出中清楚地看到错误。
您的问题很可能是以下两个问题之一:
--port
和--network host
先尝试此操作(无音量),看看是否可行:
$ 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