在由docker-machine创建的EC2 linux服务器上,当我通过 docker-compose up 启动docker postgres:10.6时,出现以下循环错误:
FATAL: password authentication failed for user "postgres"
DETAIL: Password does not match for user "postgres".
Connection matched pg_hba.conf line 95: "host all all all md5"
如果我手动启动容器,我没有这些错误 => docker run -e POSTGRES_PASSWORD = myPassword postgres:10.6
我在本地docker中没有这些错误
我的docker-compose:
db:
container_name: postgres
image: postgres:10.6
restart: always
environment:
POSTGRES_PASSWORD: myPassword
ports:
- "5432:5432"
有人想解决这个问题吗(我被困了两天)?
答案 0 :(得分:0)
可能是因为首次启动后已初始化了卷(或绑定安装目录)。 postgres用户,并且数据库创建仅在第一次启动时发生(即/ var / lib / postgresql / data必须已经不包含数据库文件)。 尝试运行:
docker-compose rm -fv postgres
删除所有容器或卷(尤其是)。docker-compose up -d
启动容器。答案 1 :(得分:0)
对不起,我已经回答了我的问题,这不是错误,我只是尝试将其永久连接到postgres(通过开放的端口5432)...
搜索后,我认为这是一次黑客尝试,因为传入连接永远不会来自同一IP
connection received: host=45.120.120.149.81 port=47118
connection received: host=210.4.125.252 port=44774
connection received: host=82.223.55.254 port=36320
等...