首先,对我的英语不好^^
我已经启动了带有卷的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
答案 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服务器没有其他实例正在运行