在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

08-26 23:08