我已按照https://tsmx.net/docker-local-mongodb/中的说明进行操作,但仍然出现以下错误:**恐慌:无法连接到 MongoDB(本地):没有可访问的服务器 **我什至尝试了以下但仍然遇到相同的错误:_ = pflag.String("mongodb-addr", "127.0.0.1:27017", "MongoDB connection address")我的连接代码如下:dbAddr := d.cfg.GetString("mongodb-addr")
session, err := mgo.Dial(dbAddr)而我的 docker run 命令如下:docker run image_name我正在使用 macOS Monterey。任何帮助将不胜感激。谢谢。
3 回答
UYOU
TA贡献1878条经验 获得超4个赞
如果应用程序和 MongoDB 在同一个 docker 网络上,则使用 docker 名称连接到 MongoDB 容器。
如果 MongoDB 在应用程序在 docker 容器中运行的服务器中运行,则使用服务器的 IP 与 MongoDB 通信。127.0.0.1
从容器内将尝试在与应用程序相同的 Docker 中找到 MongoDB。
动漫人物
TA贡献1815条经验 获得超10个赞
如果你像这样运行 mongo :
mongo:
image: mongo
restart: always
volumes:
- ./mongo-data:/data/db
env_file: .env
ports:
- 27017:27017
environment:
MONGO_INITDB_ROOT_USERNAME: ${MONGO_USERNAME}
MONGO_INITDB_ROOT_PASSWORD: ${MONGO_PASSWORD}
然后你可以像这样从 Go 连接:
var cred options.Credential
cred.Username = MongoUsername
cred.Password = MongoPassword
clientOption := options.Client().ApplyURI(mongodb://mongodb:27017).SetAuth(cred)
- 3 回答
- 0 关注
- 104 浏览
添加回答
举报
0/150
提交
取消