错误:
sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) FATAL: password authentication failed for user "username"
你好,我试图使用Docker在本地运行程序,并且得到标题错误,即使以前已经在运行。
我尝试过重新安装Docker,重新克隆存储库,重新安装PostgresSQL(该问题在我第一次安装它时就开始了)。通过阅读类似的问题,我确保密码匹配。 Docker Postgres数据库的密码是“密码”,我尝试过更改它,但仍然无法使用。
我正在使用'docker-compose up -d',然后运行测试,但标题中出现错误。我试过运行“ docker-compose down”,然后重做,但是仍然出现错误。
.env文件:
FLASK_ENV=development
REDIS_URL=redis://localhost:6379
DATABASE_URL=postgresql+psycopg2://username:password@localhost:5432/programname
PROGRAM_API_APP_NAME=test-prod.compute.random.com
docker-compose.yml:
version: '3'
services:
postgresql:
image: postgres:10-alpine
environment:
- POSTGRES_DB=programname
- POSTGRES_PASSWORD=password
- POSTGRES_USER=username
ports:
- "5432"
redis:
image: redis:5.0.3
ports:
- "6379:6379"
(我没有端口5432:5432
,因为它不起作用,我找到了删除第二个5432的答案。)
答案 0 :(得分:0)
老板帮助了我。显然,当我安装Postgres时,它创建了一个postgres用户,该用户的进程正在使用端口5432,即使我们杀死了它,它也会自动重新启动。为了解决此特定问题,我们将docker-compose文件更改为在本地使用端口5433和在容器中使用5432。仍然必须找出如何摆脱postgres用户。