Using Docker: sqlalchemy.exc.OperationalError: (psycopg2.操作错误)致命:用户"username"的密码身份验证失败



错误:

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 的答案。

老板帮了我这个忙。显然,当我安装 Postgres 时,它创建了一个 postgres 用户,该用户有一个使用端口 5432 的进程,即使我们杀死了它,它也会自动重新启动。为了解决这个特定问题,我们将 docker-compose 文件更改为在本地使用端口 5433,在容器中使用 5432。仍然必须找出如何摆脱 postgres 用户。

相关内容

最新更新