Komga Docker 업데이트 완벽 가이드: 데이터 손실 없이 최신 버전으로 올리는 3가지 방법!
혹시 여러분도 저처럼 소중한 만화/코믹스 컬렉션을 관리하는 데 Komga를 사용하고 계신가요? Komga는 정말 훌륭한 미디어 서버지만, 가끔씩 새로운 기능이나 버그 수정이 적용된 **업데이트**가 뜨면 "이거 어떻게 안전하게 올려야 하지?" 하고 고민에 빠지게 되죠? 특히 도커(Docker) 환경에서는 명령어를 잘못 입력했다가 기존 설정이나 라이브러리 데이터가 날아갈까 봐 걱정하는 분들이 많거든요.
하지만 걱정 마세요! 이 글을 통해 Komga 도커 컨테이너를 **데이터 손실 없이**, 그리고 **가장 효율적인 방법**으로 업데이트하는 세 가지 핵심 방법을 완벽하게 익힐 수 있습니다. 우리가 힘들게 구축한 설정과 데이터베이스($\text{/config}$ 폴더)는 안전하게 유지하면서, 깔끔하게 최신 버전으로 교체하는 방법을 지금부터 저와 함께 하나씩 살펴봅시다! 😊
첫 번째 주요 섹션 제목 🤔: 업데이트 전, 필수 확인 사항!
업데이트 명령어를 실행하기 전에 반드시 체크해야 할 몇 가지 사항이 있습니다. 이걸 놓치면 나중에 골치 아픈 문제가 생길 수 있거든요. 이 섹션에서는 주제에 대한 기본 개념이나 배경 정보를 소개하는 것이 좋습니다. 가장 중요한 건, 여러분의 Komga 컨테이너가 **영구 저장소(Persistent Storage)**를 잘 사용하고 있는지 확인하는 거예요.
Komga는 데이터를 2개의 SQLite 데이터베이스와 로그 파일을 사용해 저장하는데, 도커 환경에서는 이 데이터들이 컨테이너 내부의 $\text{/config}$ 경로에 저장됩니다. 만약 컨테이너를 처음 생성할 때 이 $\text{/config}$ 폴더를 호스트(Host) 서버의 실제 폴더($\text{/path/to/config}$)에 **볼륨 마운트($\text{Volume Mount}$)** 해두지 않았다면, 컨테이너를 삭제하는 순간 모든 설정과 라이브러리 데이터가 사라지게 돼요!
Komga 업데이트의 핵심은 **기존 컨테이너를 삭제하고** **새로운 이미지로 다시 생성**하는 것입니다. 이때 설정 파일(데이터베이스)이 저장된 $\text{/config}$ 폴더는 호스트 서버에 남아있어야 데이터가 보존됩니다. 이것이 바로 영구 저장소 설정이 필수인 이유예요.
두 번째 주요 섹션 제목 📊: 도커 업데이트 3가지 핵심 방법 비교
Komga 컨테이너를 업데이트하는 방법은 크게 세 가지로 나눌 수 있습니다. 이 섹션에서는 주제에 대한 더 구체적인 정보나 데이터를 제공하는 것이 좋습니다. 여러분이 어떤 환경에서 Komga를 실행하고 있느냐에 따라 가장 효율적인 방법이 달라지니, 아래 표를 보고 자신에게 맞는 방식을 선택해 보세요.
특별히 강조하고 싶은 내용은 'Docker Compose'를 사용하는 것이 가장 깔끔하고 권장되는 방법이라는 점이에요. 명령어가 간결하고, 설정 파일($\text{docker-compose.yml}$) 관리가 쉽거든요.
Komga Docker 업데이트 방법별 비교
| 구분 | 설명 | 장점 | 단점/주의사항 |
|---|---|---|---|
| 방법 1: Docker CLI (수동) | $\text{docker pull, stop, rm, run}$ 명령어를 순차적으로 사용 | $\text{Docker Compose}$가 없을 때 유용 | 명령어가 길고 실수하기 쉬움 |
| 방법 2: Docker Compose (권장) | $\text{docker compose pull}$ 후 $\text{docker compose up -d}$ 실행 | **가장 간결하고 안전함**. 설정 재사용 용이 | 사전에 $\text{docker-compose.yml}$ 파일이 필요함 |
| 방법 3: Watchtower/Portainer (자동) | 자동 업데이트 도구를 활용하여 주기적으로 업데이트 | **신경 쓸 필요 없이 자동 유지** | 추가 도구 설치 필요. 업데이트 통제력이 낮음 |
업데이트 전에는 반드시 Komga 컨테이너를 **정지**하고 시작해야 합니다. 컨테이너가 실행 중인 상태에서 이미지를 업데이트하거나 컨테이너를 삭제하면 예기치 않은 오류나 데이터 손상이 발생할 수 있어요. 또한, $\text{docker run}$ 명령어를 사용할 경우, 기존 컨테이너 생성 시 사용했던 **모든 옵션**($\text{-p, --mount, --user, --restart}$ 등)을 빠짐없이 그대로 사용해야 합니다!
세 번째 주요 섹션 제목 🧮: Docker Compose를 이용한 업데이트 실전 공식 (권장)
이제 가장 깔끔하고 권장되는 방법인 $\text{Docker Compose}$를 이용한 업데이트 실전 공식을 알아볼게요. 이 섹션에서는 주제에 대한 응용 방법이나 실제 계산 방법 등 실용적인 정보를 제공하는 것이 좋습니다. 이 방법은 단 두 줄의 명령어로 끝낼 수 있어 가장 편리하답니다.
📝 Komga Docker Compose 업데이트 공식
**업데이트 = 새로운 이미지 가져오기 + 컨테이너 재생성/배포**
여기에는 계산 예시나 사례를 통한 설명을 작성합니다: 업데이트를 실행하기 위해서는 $\text{docker-compose.yml}$ 파일이 있는 디렉토리로 이동해야 합니다. 파일 위치를 모른다면, 이 명령어가 작동하지 않으니 꼭 확인해 주세요!
1) 첫 번째 단계: **최신 이미지 내려받기** ($\text{docker compose pull}$)
2) 두 번째 단계: **컨테이너 재생성 및 배포** ($\text{docker compose up -d}$)
→ **최종 결론:** 이 두 명령어면 기존 컨테이너가 자동으로 중지/삭제되고, 최신 이미지를 사용해 설정 그대로 새로운 컨테이너가 실행됩니다.
🔢 실제 실행 명령어
터미널에서 $\text{docker-compose.yml}$ 파일이 있는 경로로 이동한 후, 아래 명령어를 순서대로 실행하세요.
# 1단계: 최신 Komga 이미지 다운로드
docker compose pull komga
# 2단계: 기존 컨테이너 중지, 삭제 후 새 컨테이너 생성 및 실행
docker compose up -d komga
만약 $\text{komga}$ 서비스만 업데이트하고 싶다면 뒤에 서비스 이름을 명시해 주면 되지만, 보통 $\text{Komga}$만 단독으로 돌리는 경우가 많으니 생략하고 전체를 업데이트해도 무방합니다. (예: $\text{docker compose up -d}$)
🔢 계산기 또는 유용한 도구 제목: 업데이트 상태 확인 명령어
업데이트 후, 새로운 컨테이너가 잘 작동하는지 확인하는 명령어입니다. 컨테이너 ID 또는 이름을 사용하세요.
네 번째 주요 섹션 제목 👩💼👨💻: 일반 Docker CLI (수동) 업데이트 방법
$\text{Docker Compose}$ 파일 없이 순수 $\text{Docker CLI}$ 명령어로만 업데이트해야 할 때 사용하는 방법입니다. 특별히 강조하고 싶은 내용은 컨테이너를 **삭제**($\text{rm}$)할 때 반드시 컨테이너 이름($\text{komga}$)을 사용해야 한다는 점이에요. 이 섹션에서는 주제에 대한 심화 내용이나 특별한 경우를 다루는 것이 좋습니다.
- **최신 이미지 Pull:** $\text{docker pull gotson/komga}$
- **기존 컨테이너 중지:** $\text{docker stop komga}$
- **기존 컨테이너 삭제:** $\text{docker rm komga}$
- **새 컨테이너 생성 및 실행:** 처음에 컨테이너를 생성할 때 사용했던 **모든 옵션**을 그대로 넣어 $\text{docker run}$ 또는 $\text{docker create}$ 명령어를 다시 실행합니다. 이 단계에서 볼륨 마운트($\text{/config}$ 및 $\text{/data}$) 옵션을 잊지 않아야 데이터가 보존돼요.
수동 업데이트 시에는 처음 컨테이너를 생성할 때 사용했던 $\text{--user 1000:1000}$이나 $\text{-p 25600:25600}$ 같은 설정들을 메모해 두거나 스크립트 파일로 보관하는 것이 현명해요. 그렇지 않으면 설정이 누락되어 Komga 서버에 접속이 안 되거나 파일 권한 문제가 생길 수 있거든요.
실전 예시: 40대 직장인 박모모씨의 업데이트 사례 📚
여기에는 실제 사례를 통한 설명을 작성합니다. 독자가 실제 상황에 적용할 수 있도록 구체적인 예시를 제공하세요. 40대 직장인 박모모씨는 주말마다 만화를 보는 낙으로 사는 도커 유저예요. 그는 $\text{docker-compose.yml}$을 이용해 $\text{Komga}$를 운영 중입니다.
사례 주인공의 상황
- 정보 1: $\text{Komga}$ 버전 0.168.0 사용 중, 최신 0.170.0으로 업데이트 희망
- 정보 2: $\text{/home/docker/komga}$ 경로에 $\text{docker-compose.yml}$ 파일 위치
업데이트 과정
1) 첫 번째 단계: $\text{cd /home/docker/komga}$ 명령어로 디렉토리 이동
2) 두 번째 단계: $\text{docker compose pull komga}$ 실행 및 최신 이미지 다운로드
3) 세 번째 단계: $\text{docker compose up -d komga}$ 실행으로 컨테이너 교체
최종 결과
- 결과 항목 1: **업데이트 성공!** 웹 인터페이스 접속 후 설정에서 버전이 0.170.0으로 변경된 것을 확인
- 결과 항목 2: **데이터 보존!** 기존 라이브러리와 사용자 계정, 읽던 위치 정보 등이 모두 그대로 유지됨
박모모씨는 $\text{Docker Compose}$ 덕분에 단 몇 초 만에 깔끔하게 업데이트를 마쳤습니다. 이처럼 $\text{Compose}$를 사용하면 업데이트가 정말 쉬워지니, 아직 사용하지 않는 분들은 꼭 도입해 보시길 추천드립니다!
마무리: 핵심 내용 요약 📝
자, 이제 $\text{Komga}$ 도커 업데이트에 대한 모든 것을 배우셨어요! 글의 핵심 메시지를 다시 한번 강조하여, 여러분이 안전하고 효율적으로 서버를 관리할 수 있도록 정리해 드릴게요.
- 첫 번째 핵심 포인트. **영구 저장소(Persistent Storage)**가 가장 중요합니다. $\text{/config}$와 $\text{/data}$ 폴더는 반드시 호스트에 볼륨 마운트 되어야 데이터가 보존돼요.
- 두 번째 핵심 포인트. **$\text{Docker Compose}$**가 가장 안전하고 권장되는 업데이트 방법입니다. 단 두 줄의 명령어로 끝낼 수 있어 편리해요.
- 세 번째 핵심 포인트. 업데이트 절차는 **$\text{Pull} \rightarrow \text{Stop} \rightarrow \text{Remove} \rightarrow \text{Run (또는 Up)}$**의 순서입니다. $\text{Compose}$가 이 과정을 자동화해 줍니다.
- 네 번째 핵심 포인트. 수동으로 $\text{Docker CLI}$를 쓸 때는 처음 컨테이너 생성 시 사용했던 **모든 옵션**을 빠짐없이 재사용해야 합니다.
- 다섯 번째 핵심 포인트. 업데이트 후에는 반드시 웹 UI에 접속해서 버전 정보와 라이브러리가 정상적으로 작동하는지 확인하세요.
이제 더 이상 업데이트 때문에 불안해하지 마세요! 여러분의 $\text{Komga}$ 서버는 이제 안전하고 최신 상태로 유지될 거예요. 궁금한 점이나 다른 업데이트 팁이 있다면 언제든지 댓글로 물어봐 주세요~ 😊


