Container + Docker recap

컨테이너는 실행 환경을 묶고 Docker는 그 묶음을 이미지로 관리한다

컨테이너 개념과 Docker 배포 흐름을 함께 보면, 왜 Dockerfile·Image·Container·Registry가 분리되는지 이해하기 쉽습니다.

Container앱과 런타임 파일을 격리호스트 커널 공유, 빠른 시작
VM게스트 OS까지 포함강한 격리, 큰 오버헤드
Docker이미지 빌드와 컨테이너 실행동일 환경 배포를 표준화
핵심 문장

컨테이너는 애플리케이션 실행 단위, 이미지는 그 실행 단위의 템플릿

운영 서버는 소스 폴더가 아니라 검증된 이미지를 받아 컨테이너로 실행합니다.

Dockerfile

빌드 규칙

베이스 이미지, 의존성 설치, 빌드 명령, 실행 명령을 코드로 남깁니다.

Image

읽기 전용 템플릿

레이어와 digest로 식별되는 배포 산출물입니다.

Container

실행 인스턴스

포트, 볼륨, 환경 변수를 주입해 실제 프로세스로 실행합니다.

Registry

공유 위치

빌드된 이미지를 팀과 배포 환경이 같은 기준으로 가져옵니다.

tag보다 digest가 더 정확
Compose

로컬 운영 묶음

앱, DB, 캐시를 한 네트워크에서 실행해 개발 환경 연결을 재현합니다.

service name DNS
Healthcheck

준비 상태 확인

컨테이너가 떠 있음과 앱이 요청을 받을 수 있음은 다르므로 별도로 점검합니다.

liveness / readiness