亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從容器化的 Go 應用程序連接到本地 MongoDB

從容器化的 Go 應用程序連接到本地 MongoDB

Go
catspeake 2023-03-07 17:28:55
我已按照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。


查看完整回答
反對 回復 2023-03-07
?
動漫人物

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)


查看完整回答
反對 回復 2023-03-07
?
慕斯王

TA貢獻1864條經驗 獲得超2個贊

我遇到了同樣的問題,這個命令對我有用,這里提到過。

Docker 提供了一個主機網絡,讓容器可以共享主機的網絡堆棧。這種方法意味著容器內的本地主機解析為物理主機,而不是容器本身。

docker run -d --network=host my-container:latest

希望它能幫助別人。


查看完整回答
反對 回復 2023-03-07
  • 3 回答
  • 0 關注
  • 140 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號