其實我用下面的碼頭工人,compose.yml文件泊塢窗組成和Postgres官方圖片的環境變量
version: '3.3'
services:
postgres:
container_name: postgres
image: postgres:latest
restart: always
environment:
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: ${POSTGRES_DB}
PGDATA: /var/lib/postgresql/data/pgdata
ports:
- "5432:5432"
volumes:
- ./data/postgres/pgdata:/var/lib/postgresql/data/pgdata
我也用這個.ENV文件中的泊塢窗,compose.yml文件的同一目錄:
POSTGRES_USER=dbadm
POSTGRES_PASSWORD=dbpwd
POSTGRES_DB=db
然後我運行bash shell中倒入容器中這樣說:
docker exec -ti postgres bash
這INVO後柯命令:
psql -h postgres -U dbadm db
而我得到的錯誤:
psql: FATAL: password authentication failed for user "dbadm"
奇怪的事實是,如果使用默認的圖像參數:
psql -h postgres -U admin database
而插入默認密碼爲「password 「,它將我記錄下來,似乎忽略了環境變量。
我缺少什麼?
從碼頭工人,組成了日誌的其他日誌:
postgres | 2017-10-15 09:19:15.502 UTC [1] LOG: listening on IPv4 address "0.0.0.0", port 5432
postgres | 2017-10-15 09:19:15.502 UTC [1] LOG: listening on IPv6 address "::", port 5432
postgres | 2017-10-15 09:19:15.505 UTC [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
postgres | 2017-10-15 09:19:15.524 UTC [22] LOG: database system was shut down at 2017-10-15 09:02:21 UTC
postgres | 2017-10-15 09:19:15.530 UTC [1] LOG: database system is ready to accept connections
無法看到有關用戶,數據庫以及密碼設置任何「RUN」行。
這是混亂的,你正在嘗試以dbadm身份登錄,但它不起作用,但是您說您可以以管理員身份登錄。你有沒有在你的.env文件中使用管理員用戶? – Sergiu
感謝@Sergiu的興趣,我說它使用圖像的默認值,但它不是我的問題。 – zioMitch
你能運行這個env |嗎?在你的postgres容器中使用grep POSTGR? – Sergiu