Mongo Docker映像-无法在其他端口上运行

时间:2018-11-20 17:26:45

标签: mongodb docker

在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 :

这是怎么回事?

非常感谢!

2 个答案:

答案 0 :(得分:3)

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

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

完整的命令是这样的:

docker run --name mymongo --network bridge -p 27117:27017 -v "$PWD/db":/data/db  -d mongo

答案 1 :(得分:2)

使用该命令,您要告诉docker端口为27117,但还需要使用该端口启动mongo。

要这样做,只需在命令末尾添加--port 27117

docker run --name mymongo --network bridge -p 27117:27117 -v "$PWD/db":/data/db  -d mongo --port 27117