docker 컨테이너에서 django 앱을 만들려고하지만 장고가 사용하는 postgres 컨테이너에서 사용자를 생성하는 방법을 모르겠습니다. 나는 그것을 시작했을 때 (docker-compose up --build --force-recreate
에 의해) 그것이 database_1 | FATAL: role "my_user" does not exist
이라고 말하는 이유가 아닐까 싶습니다. 내가 뭘 잘못하고 있니? 당신의 docker-compose.yml
에서postgres 도커 컨테이너에서 사용자 만들기
version: "3.1"
services:
database:
image: postgres:9.5
environment:
POSTGRES_DB: "django_db"
POSTGRES_USER: "my_user"
POSTGRES_PASSWORD: "my_password"
POSTGRES_DATA: /var/lib/postgresql/data/pgdata
logging:
options:
max-size: "10m"
max-file: "3"
restart: always
volumes:
- "database:/var/lib/postgresql/data"
tmpfs:
- "/tmp"
- "/run"
networks:
db-net:
django:
build: ./
image: django:latest
environment:
DATABASE_URL: "postgres://my_user:[email protected]/django_db"
ports:
- 7445:80
'/ var/lib/postgresql/data' 디렉토리를 지우고 클러스터를 다시 시작하십시오. –
django가 progres 데이터베이스가 사용자를 생성하기 전에 django가 연결을 시도 할 수 있도록 서비스가 동시에 시작될 수 있습니다. https://docs.docker.com/compose/startup-order/ – JodyT