使用docker-compose启动Postgres容器时出现密码认证失败错误求助
解决Postgres密码认证失败问题
问题根源
你的docker-compose.yml中Postgres服务的环境变量语法错误,Docker环境变量的正确格式是KEY=VALUE,而你用了KEY:VALUE,导致Postgres没有正确加载配置的用户名和密码。
修正步骤
- 修改
docker-compose.yml中db服务的环境变量部分,把冒号替换成等号:
version: '3' services: redis: image: redis db: image: postgres:9.4 environment: - POSTGRES_USER=postgres - POSTGRES_PASSWORD=postgres vote: image: voting-app ports: - 5000:80 worker: image: worker-app result: image: result-app ports: - 5001:80
- 清理旧容器与数据卷(避免缓存数据干扰):
# 停止并删除现有容器 docker-compose down # 删除Postgres相关数据卷 docker volume rm $(docker volume ls -q | grep postgres)
- 重新启动服务:
docker-compose up
额外检查点
如果仍出现认证问题,确认vote、worker、result服务连接Postgres时使用的用户名、密码,是否与POSTGRES_USER、POSTGRES_PASSWORD完全一致,确保连接字符串参数正确。
内容的提问来源于stack exchange,提问作者Saliko
相关产品推荐
相关产品推荐

