[TIL_Carrotww] 77 - 22/12/21

유형석·2022년 12월 23일
0

TIL

목록 보기
91/138
post-thumbnail

📝Carrotww의 코딩 기록장

🧲 docker migration 오류...

백엔드 서버를 업데이트 하며 DB가 수정되어 docker 컨테이너를 재배포 하는도중 위와 같은 에러가 떴다.

django 파일만 바꾸어주고 docker compose와 docker 파일은 그대로였고 로컬에서 django 서버는 정상 동작하였다.
위 에러를 찾아보니 migration이 안되었단는 오류
하지만 migration은 되어있었고 한시간정도 계속 찾아봤다.

docker compose system prune -a
를 하여 모든 캐시를 날려보기도 하고

이렇게 계속 찾는도중 서버에 들어가보니 캐시를 날렸음에도 db가 그대로 남아있어 게시글이 그대로 있는걸 뒤늦게 확인하였다.
그래서 캐시를 날렸을때 postgres db의 볼륨이 삭제되지 않고 유지되어 db 오류가 뜬다고 생각을 하였고
명령어를 찾아
docker compose system prune -a --volumes 명령어를 다시 수행 후 컨테이너를 재 빌드하였다.
역시 다시 빌드하니 제대로 컨테이너가 올라갔고... 문제는 volume이 삭제되지 않아서 그랬었다... system prune을 하면 모든 캐시가 삭제되는 줄 알았는데 아니여서 1시간정도 개고생을 하였다 ㅠㅠ

🧲 배포 후기

🔍 배포를 하며 에러가 떳을때는 많은 좌절감이 들었다.
로컬에서는 되지만 배포를 하면 안되고... 다시 테스트를 하고 몇번의 과정은 공부를 하며 좋았는데 3일동안 나를 괴롭히니 힘들었다.
하지만 말로만 들었던 docker를 직접 사용해보니 컨테이너 뭐시기 하면서 글을 읽었을때는 잘 이해가 가지 않았는데 직접 컨테이너에 이미지를 넣고 ip 주소도 넣어주고 하니 지금까지 뜬구름 잡는것처럼 들렸던 설명글들이 한번에 와닿았고 나름 자신감도 붙어서 실패했었던 daphne, 다른 DB를 사용하여 배포를 하고, 다 쓰지 못했던 컨테이너 안에서 cron 실행해보기, 컨테이너에서 django crontab 돌리기 등등 여러가지를 프로젝트 발표까지 끝나고 혼자서 다시 시도해볼 생각이다.

왜 시니어 개발자들도 장난스래 배포하며 기도한다고 했는지 알았다.

profile
Carrot_hyeong

0개의 댓글