[meetings] docker-compose db migrate 에러

yoon·2023년 11월 21일

meetings

목록 보기
3/13

❌ 발생한 오류

backend:
    container_name: backend
    build: ./backend/
    entrypoint: sh -c "python manage.py collectstatic --no-input && python manage.py makemigrations && python manage.py migrate && gunicorn config.wsgi --workers=5 -b 0.0.0.0:8000"
    volumes:
      - ./backend/django/:/app/
      - /etc/localtime:/etc/localtime:ro
      - django_media:/app/media/
      - django_static:/app/static/
    environment: #
      - DEBUG
      - POSTGRES_DB
      - POSTGRES_USER
      - POSTGRES_PASSWORD
      - POSTGRES_HOST
      - POSTGRES_PORT
      - SECRET_KEY
      - NAVER_ACCESS_KEY
      - NAVER_SECRET_KEY
      - SERVICE_ID
      - PHONE_NUMBER
    depends_on:
      - postgres
      - redis
    restart: always

docker-compose.yml 파일에서 entrypoint에 다음과 같이 작성해주었다. 하지만 docker 로그를 확인해 본 결과 user_user 테이블을 못찾는 다는 에러가 나왔다.

이러한 에러가 나오는 이유는 makemigrations가 잘 작동하지 않았기 때문이다.

문제를 해결하기 위해 명령어를 통해 컨테이너에 접속하려고 했으나 restarting 중인 컨테이너라서 접속이 불가하다는 문구만 계속 뜬다.

✅ 해결 방안

위의 문제를 해결하기 위해서 도커 볼륨을 초기화 시켜 주면 된다.
docker volume prune

위의 명령어를 실행하고 다시 컨테이너들을 동작시켜 주면 접속이 가능해진다. 그 후 직접 migration 명령어를 실행한다.

명령어

  • 로그 확인 docker compose logs
  • 컨테이너 접속 docker exec -it 컨테이너 이름 /bin/bash
  • 초기화 docker volume prune
           docker container prune
  • 컨테이터 실행 docker compose up -d --build
profile
하루하루 차근차근🌱

0개의 댓글