在Docker

时间:2017-09-28 18:30:23

标签: mongodb docker

是否可以通过容器的环回接口连接到在Docker容器中运行的进程?

基本上我正在寻找这个选项:

docker run ... -p 12345:127.0.0.1:12345 ...

这被Docker拒绝了。

例如,用例是通过Localhost Exception

设置Mongo管理员用户

2 个答案:

答案 0 :(得分:0)

您的端口映射略有错误。试试这样:

$ docker run -itd -p 27117:27017 mongo

所以27117是您可以连接到docker容器的端口,而27017是在docker中运行的mongod端口

所以当我连接mongo shell时,我可以连接到docker中的mongod,如:

$ mongo --port 27117

答案 1 :(得分:0)

试试这样:

第1步:

从码头中拉出mongo图像。

docker pull mongo

第2步:

创建新目录,用于在共享位置存储mongodb数据,例如 / home / user / databases / mongo

第3步:

使用以下命令从docker image运行mongodb

如果你想改变像12345这样的mongodb端口,请在命令中设置它。 27017是在docker中全局声明你无法改变它但我想在本地更改mongodb端口,如12345

docker run -d -p 12345:27017 -v /home/user/databases/mongo:/data/db --name mongodb mongo