我正在嘗試連接兩個容器,其中一個使用 pymongo,我想從一個容器內部連接到第二個容器,我可以從運行 docker 的機器上連接到它,但我可以'不要從一個容器連接到另一個容器,我已經嘗試了所有可能的解決方案,但我確定我錯過了一些東西:
docker-compose.yaml
version: "3"
networks:
shared:
driver: bridge
services:
application:
environment:
....
image: application:latest
ports:
....
volumes:
....
depends_on:
- mongo
networks:
- shared
mongo:
image: mongo:4.2-bionic
ports:
- "27017:27017"
networks:
- shared
聯系:
def get_connection():
client = MongoClient('localhost', 27017)
database = client.database.beacons
return database
錯誤:
Connection refused, Timeout: 30s, Topology Description: <TopologyDescription id: 621d188d8169b99b9cfc4c5e, topology_type: Unknown, servers: [<ServerDescription ('localhost', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('localhost:27017: [Errno 111] Connection refused')>]>
uj5u.com熱心網友回復:
docker-compose 網路中的容器由其服務名稱參考,因此在您的 pymongo 連接中使用:
client = MongoClient('mongo', 27017)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/434668.html
