python - 密码验证失败 + Docker + Django
问题描述
我不是第一次使用 Docker,但显然我的设置有问题,我无法弄清楚。
这是我的 docker-compose.yml
version: "3.1"
services:
db:
image: postgres:9.6.9-alpine
environment:
POSTGRES_USER: rentalapp
POSTGRES_PASSWORD: rentalapp
POSTGRES_DB: rentalapp
ports:
- "5432:5432"
volumes:
- pgdata:/var/lib/postgresql/data
volumes:
pgdata:
这是我的 local.py
DATABASES = {
"default": {
"ENGINE": "django.db.backends.postgresql",
"USER": "rentalapp",
"PASSWORD": "rentalapp",
"PORT": 5432,
"NAME": "rentalapp",
"HOST": "localhost",
"ATOMIC_REQUESTS": True,
}
}
追溯:
django.db.utils.OperationalError: FATAL: password authentication failed for user "rentalapp"
解决方案
我对这个错误的猜测是它与卷(绑定安装目录)有关。
这可能是因为卷(或绑定挂载目录)在您第一次启动后已经初始化。postgres 用户和数据库创建仅在第一次启动时发生(即,/var/lib/postgresql/data 不得已包含数据库文件)。尝试运行:
docker-compose rm -fv postgres
删除任何容器或卷(特别是)。
docker-compose up -d
启动你的容器。
推荐阅读
- swiftui - SwiftUI:点击更改 TectField 背景颜色
- python - 模拟数据库游标并断言传递给游标函数的值
- r - 在 R 中的文本文件中提取重复出现的行/模式
- python - 如何在python中制作一个矩阵数组?
- java - 当小时、分钟和秒为零时,OffsetDateTime 解析忽略秒
- python - 请参阅下面的代码中的 def __str__(self):。它不影响输出,但应该。期待帮助
- python - 需要帮助理解这个 Python 列表语法
- reactjs - React 中的语义 UI 卡片组
- python - 删除数据集中的所有行 >= 一个值
- c# - 在 C# 的控制器中读取 POST 请求的请求正文