我想讓我的應用程序代碼與我的postgres數據庫溝通,每個數據庫運行在單獨的容器中。然而,每當我嘗試訪問我的分貝時,我總是得到「撥號tcp 172.19.0.3:5432:getsockopt:連接被拒絕」我的理解是指沒有任何監聽端口5432.但我不明白如何這可能是因爲docker報告沒有錯誤啓動我的應用程序服務器或postgres服務器。如何使用碼頭啓動postgres數據庫
version: '2'
services:
postgres:
restart: 'no'
image: mhatch/eventcliq_pgdb
volumes_from:
- data
ports:
- "5432"
environment:
- POSTGRES_PASSWORD=TEST_PG_PWD
data:
restart: 'no'
image: postgres:9.5.1
volumes:
- /var/lib/postgresql
- /etc/postgresql
- /var/log/postgresql
command: "true"
api:
restart: 'no'
build: .
environment:
- ENV=dev
image: mhatch/eventcliq-api
ports:
- "80:3001"
links:
- postgres:db
] 4
注:嘗試連接到0.0.0.0:32793當pgAdmin的錯誤結果。 x連接到不同的保存和工作的服務器(我沒有嘗試連接到)。
感謝您的迴應,但我不認爲我想硬編碼端口映射。 – mvhatch
這不是硬編碼的端口映射。 127.0.0.1只是本地主機。如果您不這樣做,docker的網絡接口會將其視爲IPV6地址,因此無法找到該服務。 – Phani