Mongo docker 映像 - 无法在不同端口上运行

Joe*_*lav 0 mongodb docker

这里有很多关于 SO 引用这个命令的问题

docker run --name mymongo --network bridge -p 27117:27117 -v "$PWD/db":/data/db  -d mongo
Run Code Online (Sandbox Code Playgroud)

应该在端口 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 :
Run Code Online (Sandbox Code Playgroud)

到底是怎么回事?

非常感谢!

Cip*_*ica 5

在您的容器内 mongo 在其默认端口上运行,即 27017

因此,您应该修改您的命令并指定端口映射,如下所示: -p 27117:27017

完整的命令是这样的:

docker run --name mymongo --network bridge -p 27117:27017 -v "$PWD/db":/data/db  -d mongo
Run Code Online (Sandbox Code Playgroud)