반응형

1. 도커 컨테이너 생애주기
도커 컨테이너는 일회용 인프라로, 다음 4단계로 관리됩니다:
- 생성 (Create)
- docker create: 이미지를 기반으로 컨테이너 생성 (실행 전 상태).
- 예시: docker create --name my_container nginx:latest.
- 실행 (Run)
- docker start 또는 docker run (생성 + 실행 통합):
docker run -d --name web_server nginx:latest
-
- 백그라운드 실행 시 -d 옵션 사용.
- 정지 (Stop)
- docker stop: 실행 중인 컨테이너를 안전하게 종료.
- docker kill: 강제 종료 (비정상적인 상황).
- 폐기 (Remove)
- docker rm: 컨테이너 완전 삭제.
- 주의: 컨테이너 내부 데이터는 영구 저장소에 미리 연결하지 않으면 모두 삭제됩니다.
2. 데이터 관리 전략
컨테이너는 기본적으로 임시 저장 공간을 사용하므로, 데이터 영속성 확보가 필수적입니다.
▷ 도커 볼륨 (Docker Volume)
- 특징: 도커가 관리하는 전용 스토리지 영역.
- 사용법:
# 볼륨 생성
docker volume create my_volume
# 볼륨 마운트
docker run -d -v my_volume:/app/data nginx:latest
- 장점:
- 호스트 시스템 경로와 독립적.
- 여러 컨테이너 간 데이터 공유 가능 (--volumes-from).
▷ 바인드 마운트 (Bind Mount)
- 특징: 호스트의 특정 디렉토리를 컨테이너에 직접 연결.
- 사용법:
docker run -d -v /host/path:/container/path nginx:latest
- 장점:
- 개발 환경에서 소스 코드 실시간 동기화에 유용.
- 호스트 파일 시스템의 데이터 직접 접근.
▷ TMPFS 마운트
- 특징: 메모리 기반 임시 저장 (컨테이너 종료 시 데이터 소멸).
- 사용법:
docker run -d --tmpfs /app/cache nginx:latest
3. 생애주기별 데이터 관리 팁
단계주의사항
| 생성 | 볼륨/마운트 옵션을 반드시 추가 |
| 실행 | 로그는 docker logs로 별도 수집 |
| 정지 | docker cp로 임시 데이터 백업 가능 |
| 폐기 | docker volume prune으로 사용하지 않는 볼륨 정리 |
4. 실전 예제: 데이터 보존 워크플로우
# 1. 영구 데이터 볼륨 생성
docker volume create db_data
# 2. MySQL 컨테이너 실행 (볼륨 마운트)
docker run -d --name mysql_db -v db_data:/var/lib/mysql mysql:8.0
# 3. 백업 컨테이너에서 데이터 접근
docker run --rm -v db_data:/backup alpine tar czf /backup/backup.tar.gz /var/lib/mysql
5. 데이터 관리 비교표
방식저장 위치사용 사례
| 볼륨 | /var/lib/docker/volumes | 프로덕션 DB 데이터 |
| 바인드 마운트 | 호스트 지정 경로 | 개발 환경 코드 공유 |
| TMPFS | 메모리 | 캐시/임시 처리 |
결론
도커 컨테이너는 생애주기 관리와 데이터 영속성 전략의 조화가 핵심입니다. 볼륨을 활용한 데이터 보존과 컨테이너의 일회용 특성을 이해하면, 안정적이고 효율적인 애플리케이션 운영이 가능합니다.
[docker] 도커 컨테이너 생애주기와 데이터 관리
도커는 애플리케이션을 격리된 환경에서 실행할 수 있게 해주는 강력한 플랫폼입니다. 도커의 컨테이너는 ...
blog.naver.com
[Docker 핵심 개념] 도커 허브, 이미지, 컨테이너 완벽 가이드
도커(Docker)는 소프트웨어를 컨테이너라는 가벼운 가상 환경에서 실행할 수 있게 해주는 강력한 플랫폼입니다. 이 글에서는 도커의 핵심 개념인 도커 허브, 이미지, 그리고 컨테이너에 대해 상세
hoosfa.tistory.com
반응형
'IT기술 > 도커 (docker)' 카테고리의 다른 글
| 도커 환경 구축을 위한 사전 준비 (2) | 2025.04.07 |
|---|---|
| 도커(Docker)의 장단점과 구조적 특징 완벽 가이드 (2) | 2025.03.28 |
| [Docker 핵심 개념] 도커 허브, 이미지, 컨테이너 완벽 가이드 (0) | 2025.03.22 |
| [Docker 심층 분석] 도커의 동작 원리와 구조 완벽 가이드 (0) | 2025.03.21 |
| [Docker vs 가상화] 컨테이너와 가상 머신의 핵심 차이점 및 활용 전략 (2) | 2025.03.19 |