[英]Docker-compose can't connect to Docker postgres container
我的 Postgres 數據庫在 Docker 容器中運行。 當容器啟動時,它說它已准備好偵聽 5432。我的應用程序容器設置為依賴它。
container_name: my_postgres_db
image: library/postgres:latest
network_mode: bridge
expose:
- 5432
ports:
- 5432:5432
environment:
- POSTGRES_USER=admin
- POSTGRES_PASSWORD=admin
- POSTGRES_DB=localdb
restart: always
應用程序的配置:
container_name: my_test_app
depends_on:
- db
build:
context: ./
dockerfile: Dockerfile
image: my_test_app
ports:
- 8080:8080
基於類似問題的解決方案,我將DB URL中的localhost
改為: spring.datasource.url=jdbc:postgresql://db:5432/localdb
它會導致另一個錯誤 =“未知主機異常”。 即使我設法以這種方式構建應用程序,它仍然不起作用。 日志說, Connection to localhost:5432 refused
我還缺少什么? 當我顯然將其更改為db:5432
並 gradlew clean/build 時,為什么它仍在收聽localhost:5432
?
只需將 postgres 和 app 中的network_mode
更改為host
network_mode: host
請注意,這將忽略公開選項並將使用主機網絡和容器網絡
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.