Python 密码验证失败+;Docker&x2B;德扬戈
这不是我第一次使用Docker,但很明显,我的设置出了问题,我弄不清楚 这是我的docker-compose.ymlPython 密码验证失败+;Docker&x2B;德扬戈,python,django,docker,Python,Django,Docker,这不是我第一次使用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
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:
这是我本地的.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"
我猜测这个bug与卷(bind mount dir)有关 这可能是因为卷(或绑定装载目录)已被删除 在第一次启动后初始化。postgres用户和数据库 仅在第一次启动时创建(即/var/lib/postgresql/data) 不能已经包含数据库文件)。尝试运行:
docker compose rm-fv postgres
删除任何容器或卷(尤其是)
docker compose up-d
启动您的容器。我想我有另一个docker卷和容器正在运行
我决定通过使用删除所有容器和卷来解决这个问题,我猜也是这样。我已多次删除该容器,但它会发出PersistsDoesHelp?我没有entrypoint.sh或Dockerfile,因此我认为它不会删除。用户创建在哪里?能否显示postgres bash中“\du”的输出并列出用户?postgres不是本地安装的,而是Docker内部安装的,因此我不知道是否可以从终端直接访问它。