我無法登錄部署在 docker 中的 postgres 資料庫。PFB 我的 docker-compose.yml
discountdb:
image: postgres
docker-compose.override.yml
discountdb:
container_name: discountdb
environment:
- POSTGRES_USER=admin
- POSTGRES_PASSWORD=admin1234
- POSTGRES_DB=DiscountDb
restart: always
ports:
- "5432:5432"
volumes:
- postgres_data:/var/lib/postgresql/data/
當我嘗試從 pgAdmin4 創建服務器時,出現以下錯誤

以下是資料庫日志

我錯過了什么?
uj5u.com熱心網友回復:
您設定的環境變數僅在容器啟動時 Postgres 找不到現有資料庫時使用。
由于您將 docker 卷映射到/var/lib/postgresql/data/,因此您可能已經擁有一個定義了現有用戶的資料庫。
嘗試洗掉卷映射,這樣您就可以確定 Postgres 會創建一個新的資料庫。如果這解決了它,那么你有兩個選擇:
- 如果不需要卷中的資料,可以洗掉 postgres_data 卷,以便 Postgres 創建一個新資料庫
- 如果您需要資料,您需要找出訪問卷中現有資料庫所需的用戶 ID/密碼
uj5u.com熱心網友回復:
這里沒有任何問題,但是第一次啟動容器時會考慮 POSTGRES_PASSWORD 我的意思是當您的 postgres_data 檔案夾仍然為空時。如果您更改了密碼但 postgres_data 不為空,則忽略新密碼,您必須使用第一個密碼登錄。
uj5u.com熱心網友回復:
問題出在我的 postgres_data 卷上。我使用命令洗掉了卷
docker volume rm -f discountdb
然后再次運行 docker-compose 解決了這個問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/473642.html
標籤:PostgreSQL 码头工人
