2 回答

TA貢獻(xiàn)1829條經(jīng)驗 獲得超13個贊
我添加了額外的主機(jī)并將我的 mongo uri 更改為host.docker.internal 它解決了我的問題
version: "3.9"
services:
worker:
image: worker
environment:
- MONGO_URI="mongodb://host.docker.internal:27017/"
- MONGO_DATABASE=e-learning
- RABBITMQ_URI=amqp://user:password@rabbitmq:5672/
- RABBITMQ_QUEUE=upload
networks:
- app_network
external_links:
- e-learning
- rabbitmq
volumes:
- worker:/go/src/github.com/worker:rw
extra_hosts:
- "host.docker.internal:host-gateway"
networks:
app_network:
external: true
volumes:
worker:

TA貢獻(xiàn)1817條經(jīng)驗 獲得超14個贊
更改MONGO_URI="mongodb://localhost:27017/"
為MONGO_URI="mongodb://e-learning:27017/"
(假設(shè)e-learning
是 mongo 容器)。
在連接到橋接網(wǎng)絡(luò)(默認(rèn))的容器中,localhost (127.0.0.1) 是容器本身。因此,您的應(yīng)用程序容器正在嘗試通過27017
自身端口訪問數(shù)據(jù)庫(而不是在主機(jī)或數(shù)據(jù)庫容器上)。最簡單的解決方案是使用docker 提供的容器之間的自動 DNS 解析。
- 2 回答
- 0 關(guān)注
- 124 瀏覽
添加回答
舉報