在SO上有很多问题,例如仅此命令
docker run --name mymongo --network bridge -p 27117:27117 -v "$PWD/db":/data/db -d mongo
应该在端口27117上运行mongo。
但是,这对我不起作用。容器运行,但是mongo仅在其默认端口上运行(请参阅容器本身的输出):
# mongo
MongoDB shell version v4.0.4
connecting to: mongodb://127.0.0.1:27017
# mongo --port 27117
MongoDB shell version v4.0.4
connecting to: mongodb://127.0.0.1:27117/
2018-11-20T17:26:09.345+0000 E QUERY [js] Error: couldn't connect to server 127.0.0.1:27117, connection attempt failed: SocketException: Error connecting to 127.0.0.1:27117 :: caused by :: Connection refused :
到底是怎么回事?
非常感谢!
最佳答案
在您的容器内,mongo在其默认端口27017上运行
因此,您应该修改命令并指定端口映射,如下所示:-p 27117:27017
完整的命令是这样的:
docker run --name mymongo --network bridge -p 27117:27017 -v "$PWD/db":/data/db -d mongo