作为解决 Hibernate OGM 连接问题的一部分,我想看看是否从 Robo 3T 进行连接。
我构建了 MongoDB 镜像并开始运行。
docker ps:
MacBook-Pro:GoStopHandle NOTiFY$ docker ps CONTAINER ID IMAGE
COMMAND CREATED STATUS PORTS NAMES 0375a68b9988 gostophandlemongodb:latest
"docker-entrypoint.s…" 5 seconds ago Up 4 seconds
0.0.0.0:32844->27017/tcp goStopHandleMongo
容器的IP地址是:
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' 0375a68b9988 172.17.0.2
我已进入“mongo”shell:
docker exec -it goStopHandleMongo mongo admin
我添加用户和密码:
> db.createUser(
... {
... user: "NOTiFY",
... pwd: "MyPassword",
... roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
... }
... )
Successfully added user: {
"user" : "NOTiFY",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
},
"readWriteAnyDatabase"
]
}
然后我设置“身份验证”:
当我尝试连接时,我得到:
有什么建议吗?
最佳答案
直到我不得不重新启动我的 Mac 时,我才意识到我仍然有一个 MongoDB 本地实例在运行,因此我没有连接到我的 MongoDB 的 Docker 实例,而是连接到我的本地实例(安装了 Brew)实例。
一旦我看到@Artjom Zabelin 的回答 here和“不要忘记将端口映射到主机端口”
docker run --name some-mongo -p 27017:27017 -d mongo
它连接到运行我的容器的 MongoDB。
@Frank Yu Cheng Gu 是正确的,我需要“localhost”。
关于mongodb - 将 Robo 3T 连接到 Docker MongoDB 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55537630/