Docker Compose와 GitHub Actions를 활용한 안전하고 자동화된 배포 파이프라인 구축

최근 프로젝트에서 Django 애플리케이션을 Docker로 컨테이너화하고, GitHub Actions와 Docker Compose를 결합해 운영 배포 파이프라인 자동화를 구성했다. 이 과정에서 겪었던 시행착오와 최종 구성을 정리해본다. Dockerfile 하나로 다양한 프로세스 관리하기 애플리케이션에는 웹 서버(Daphne), Celery, Dramatiq, MQTT Subscriber 등 다양한 백그라운드 프로세스가 있었지만, 공통적으로 사용하는 코드베이스는 동일했다.그래서 Dockerfile을 하나로 통합하고, 실행 커맨드만 docker 더보기…

서버 리부팅시 도커 컨테이너 재시작

최근 연휴 기간중에 우리 블로그가 잠시 장애를 겪었는데, 원인은 클라우드 서버가 무슨 이유에서인지 재시작되었기 때문인 것 같습니다. 서버는 재시작 되었는데, 서버에서 구동중인 도커 컨테이너 재시작은 자동으로 구동 되지 않았기 때문에 서비스 장애로 이어진 것이었습니다. 그래서 내친김에 도커 컨테이너가 자동으로 재시작 될 수 있도록 조치를 하느라 관련해서 찾아봤던 내용을 공유하려고 합니다. 더보기…

Snap으로 docker 설치 하기 Ubuntu 20.04

앞선 여러 글에서 Docker를 이용하는 내용이 많았는데, 요즘에는 Snap으로 docker 설치 가 무척 간편해졌습니다. 이에 따라 docker 설치 방법이 약간 달라져서 관련 내용을 기록해 두려고 합니다. Ubuntu 20.04가 나오고 얼마 지난 후부터인것 같은데, 이제는 더 이상 위의 글에서 기록해 둔 것과 같이 apt repository update하고 apt install 하는 방식으로 docker 더보기…

Django DB 로 MySQL 도커 컨테이너 사용하기

Django DB 로 MySQL 도커 컨테이너 를 사용하는 이유 Django DB 로 MySQL 도커 컨테이너 를 사용하면 향후 DB를 scale up 하거나 DB 서버를 이전하기에 편리합니다. MySQL DB 를 도커 컨테이너 로 구동 도커 설치 도커 설치는 이전 글에 기술했던 Docker Installation 부분과 동일합니다. 패키지 설치 GPG 키를 저장소에 추가 더보기…