postgresql - 使用 Docker : sqlalchemy. exc.OperationalError : (psycopg2. OperationalError) FATAL: 用户 "username"的密码验证失败

标签 postgresql docker virtualenv

错误:

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 用户。

关于postgresql - 使用 Docker : sqlalchemy. exc.OperationalError : (psycopg2. OperationalError) FATAL: 用户 "username"的密码验证失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57169602/

相关文章:

python - 当我运行 ./manage.py run server 我收到错误 ImportError : No module named celery

PostgreSQL 如何在递归查询中计算记录数

sql - 计算嵌套类别记录

python - Heroku+Django+Postgres错误: "FATAL: database "python_getting_started"does not exist"

java - i/o 密集型 java 应用程序在 docker 上以有限的资源加速

python - Pipenv:多环境

node.js - 如何在 Node js 中更新 postgresql 中的 json 数据?

node.js - Docker Node 安装

ruby - 如何在 Ubuntu 18.04 中安装 ruby​​ 2.7.2 (Dockerfile)?

python - 无法让 dotenv 模块与 uvicorn 一起使用