我有一个Django/PostgreSQL应用程序,并试图连接到我的数据库,我有两个容器: web,它可以工作,但我无法连接到postgresql数据库
我曾经运行过docker exec -it coverage_africa_db_1 psql -U postgres
,但是我发现了一个错误
psql:错误:无法连接到服务器:致命:角色"postgres“不存在
我试图通过运行命令docker exec -it aab213f730cd bash
“跳入”容器,并尝试使用psql命令连接.
psql -d db_dev psql:错误:未能连接到服务器:致命:角色"root“不存在
或
psql -U postgres错误:未能连接到服务器:致命:角色"postgres“不存在
事实上,没有一种psql选项有效..。
.env.dev
SECRET_KEY=*************************************
DEBUG=1
DJANGO_ALLOWED_HOSTS=localhost 127.0.0.1 [::1]
SQL_ENGINE=django.db.backends.postgresql
SQL_DATABASE=db_dev
SQL_USER=user
SQL_PASSWORD=user
SQL_HOST=db
SQL_PORT=5432
DATABASE=postgres
DJANGO_SETTINGS_MODULE=core.settings.dev
docker-compose.yml
version: '3.7'
services:
web:
build: ./app
restart: always
command: python manage.py runserver 0.0.0.0:8000
volumes:
- ./app/:/usr/src/app
ports:
- 8000:8000
env_file:
- ./.env.dev
depends_on:
- db
db:
image: postgres:12.0-alpine
restart: always
volumes:
- postgres_data:/var/lib/postgres/data/
environment:
- POSTGRES_USER=user
- POSTGRES_PASSWORD=user
- POSTGRES_DB=db_dev
volumes:
postgres_data:
发布于 2020-09-21 18:33:08
对于postgres容器,这是:
environment:
- POSTGRES_USER=user
- POSTGRES_PASSWORD=user
- POSTGRES_DB=db_dev
定义如何初始化数据库。如果您没有更改它,您应该能够以用户“用户”的身份与密码“user”连接。
如果您确实更改了它,那么实际值就是在第一次启动时出现的值。第一次启动后,这些凭据将被写入数据库,该数据库的数据位于postgres_data
卷上。如果要删除数据并使用新凭据重新初始化数据库,请使用docker-compose down -v
。
https://stackoverflow.com/questions/63997170
复制相似问题