![](/img/trans.png)
[英]docker-compose: FATAL: password authentication failed for user "postgres"
[英]Docker-compose postgresql password authentication failed
我正在嘗試使用消耗Postgres數據庫的Web服務進行安裝。 設置應該很簡單,但出現錯誤。 因此,我首先要確保的是我設置的數據庫實際上已經存在並且正在運行。
為了測試這一點,我將“ consumer”或“ client”替換為高山交互式外殼,如下所示:
version: '3'
services:
db:
image: postgres:10.1-alpine
container_name: db
expose:
- 5432
volumes:
- "dbdata:/var/lib/postgresql/data"
environment:
- POSTGES_USER=user
- POSTGRES_PASSWORD=pass
- POSTGRES_DB=db
web:
image: alpine:latest
stdin_open: true
tty: true
entrypoint: /bin/sh
depends_on:
- db
volumes:
dbdata:
然后,我運行以下命令進入交互式shell:
docker-compose run web
和以下命令進入數據庫:
apk --update add postgresql-client && rm -rf /var/cache/apk/*
psql -h db -U user db
我從postgresql得到一個明確的拒絕:
psql: FATAL: password authentication failed for user "user"
我嘗試的每個用戶名/密碼/數據庫名稱組合都出現相同的錯誤消息。 沒有太大的幫助。
我在這里做錯了什么?
您的docker-compose
文件中有一個錯字。 您在這里拼寫了POSTGRES
:
POSTGES_USER=user
這意味着未創建user
user。 如果我糾正了錯字,那么我有:
version: '3'
services:
db:
image: postgres:10.1-alpine
expose:
- 5432
volumes:
- "dbdata:/var/lib/postgresql/data"
environment:
- POSTGRES_USER=user
- POSTGRES_PASSWORD=pass
- POSTGRES_DB=db
web:
image: alpine:latest
stdin_open: true
tty: true
entrypoint: /bin/sh
depends_on:
- db
volumes:
dbdata:
啟動環境:
docker-compose up -d
附加到包含的web
並安裝postgresql客戶端:
$ docker attach project_web_1
/ # apk add --update postgresql-client
然后,我可以毫無問題地連接:
/ # psql -h db -U user db
Password for user user:
psql (11.2, server 10.1)
Type "help" for help.
db=#
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.