嘗試使用 mgo.v2 包連接到 mongodb 服務器。我已經使用以下命令啟動了服務器:mongod --auth我可以使用終端連接到服務器:$ mongo -u "username" -p "password" --authenticationDatabase "db"但是當我使用時:mgo.Dial("mongodb://usernamer:[email protected]:27017/dbname")它給我一個錯誤,說 {"error":"no reachable servers"}。我的 docker-compose.yml 文件如下version: "2"services: todo: build: context: . dockerfile: todo/Dockerfile restart: always volumes: - .:/go/src/prac container_name: todo ports: - 8800:8081 mongodb: command: mongod --auth container_name: mongodb image: mongo:latest ports: - 27017:27017
1 回答

千萬里不及你
TA貢獻1784條經驗 獲得超9個贊
問題似乎是您正在嘗試連接到 127.0.0.1。MongoDB 不在同一個容器中,所以這行不通。
mgo.Dial("mongodb://usernamer:[email protected]:27017/dbname")
您應該改為使用您選擇的名稱連接到您定義的 MongoDB 容器。
mgo.Dial("mongodb://usernamer:password@mongodb:27017/dbname")
Docker Compose 為您的容器創建一個網絡,在其中它們可以使用您定義為主機名的名稱相互訪問。請注意,您不需要ports
為容器定義相互訪問;這些只需要從 Docker 外部訪問容器。
- 1 回答
- 0 關注
- 337 瀏覽
添加回答
舉報
0/150
提交
取消