我在docker容器中具有django project和potgresql数据库。我的问题是如何显示我的数据库?我正在尝试docker exec -ti myproject_django_1 /bin/bash
和docker exec -ti myproject_db_1 /bin/bash
,但是在这两种情况下,我都无法使用psql
,因为psql: FATAL: role "root" does not exist
或bash: psql: command not found
docker-compose.yml:
version: '3'
services:
redis:
image: redis:alpine
db:
image: postgres
django:
build: .
command: python3 manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
depends_on:
- db
links:
- redis
angular:
build: frontend
ports:
- "4200:4200"
depends_on:
- django
解决方案:
docker exec -it [DB_CONTAINER_ID] psql -U [USERNAME]
您处于正确的方式,只需在容器内更改用户:
docker exec -ti myproject_db_1 /bin/bash
su - postgres
psql