我在 docker 容器上安裝了一個 postgres 影像 -
我還安裝了 pgadmin 并通過將它們添加到 docker 網路來連接 postgres 和 pgadmin。我可以通過 pgadmin 連接到資料庫
我現在想從我的 java 代碼中訪問這個 local-postgres 實體,但是我收到連接嘗試失敗的錯誤。
我在這里想念什么?
docker run --name pgadmin -e "[email protected]" -e "PGADMIN_DEFAULT_PASSWORD=admin" -p 5050:80 -d dpage/pgadmin4
docker network create --driver bridge pgnetwork
docker network connect pgnetwork local-postgres
docker network connect pgnetwork pgadmin
以下是 application.properties 檔案設定
spring.jpa.hibernate.ddl-auto=update
spring.jpa.hibernate.show-sql=true
spring.datasource.url=jdbc:postgresql://local-postgres:5432/db-java-docker
uj5u.com熱心網友回復:
您是否通過內部的 Docker 運行您的 java 應用程式pgnetwork?如果沒有,local-postgres主機名將無法決議。如果您不想通過 docker 運行 java 應用程式,則必須為 postgres 埠提供一個映射的主機埠,以便您通過 localhost 決議它。這是一個例子:
# Maps the postgres port to port 5051 on your localhost
$ docker run \
--name local-postgres \
-e POSTGRES_USER=postgres \
-e POSTGRES_PASSWORD=password \
-e POSTGRES_DB=db-java-docker \
-p 5051:5432 \
postgres:14
spring.datasource.url=jdbc:postgresql://postgres:password@localhost:5051/db-java-docker
uj5u.com熱心網友回復:
我想您忘記在組態檔中添加 db 的登錄名和密碼:
spring.datasource.username: DB_USERNAME
spring.datasource.password: DB_PASSWORD
其中 DB_USERNAME 和 DB_PASSWORD 以便您創建 docker postgres 容器
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/514705.html
上一篇:資料型別未在資料庫上更新
