簡體   English   中英

Docker-compose 無法連接到 Docker postgres 容器

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM