启用--auth后,无法连接Windows mongodb容器

时间:2018-10-24 09:13:53

标签: windows mongodb docker

首先,对我的英语不好^^

我已经启动了带有卷的Windows mongodb。

docker run -d -v mongovol:c:\data\db mongo:4.0-windowsservercore

然后,我的计算机与mongodb容器之间的连接非常完美,我 而且我能够创建一个管理员用户

use admin
db.createUser(
{
user: "admin",
pwd: "password",
roles: [ { role: "userAdminAnyDatabase", db: "admin" }, 
         { role: "dbAdminAnyDatabase", db: "admin" }, 
         { role: "readWriteAnyDatabase", db: "admin" } ]
}
)

然后,我关闭mongodb并使用--auth标志重新启动它以启用授权。

在那之后,当我尝试使用(在我的计算机mongo安装中)连接到数据库时,没有其他任何事情

mongo 172.28.221.45:27017/admin -u admin -p password

(ip地址是我的容器的IP)

我收到此错误消息:

  

MongoDB Shell版本v4.0.3   连接到:mongodb://172.28.221.45:27017 / admin   2018-10-24T11:00:20.161 + 0200 E查询[js]错误:无法连接到服务器172.28.221.45:27017,连接尝试失败:NetworkTimeout:连接至172.28.221.45:27017错误:::由::引起套接字操作超时:   connect@src/mongo/shell/mongo.js:257:13   @(连接):1:6   例外:连接失败

经过多次搜索,我没有找到任何功能解决方案

预先感谢您:)

Julien.R

2 个答案:

答案 0 :(得分:0)

您需要公开端口-p 27017:27017

docker run -p 27017:27017 -d -v mongovol:c:\data\db mongo:4.0-windowsservercore

答案 1 :(得分:0)

妙极了!它的工作!谢谢你,梅拉姆! 完整的解决方案:

docker run -p 27017:27017 -d -v mongovol:c:\data\db mongo:4.0-windowsservercore mongod --auth --bind_ip_all

并确保mongodb服务器没有其他实例正在运行