Docker는 실행 환경을 이미지로 고정하고 컨테이너로 재현한다

Dockerfile은 만드는 법, Image는 배포 산출물, Container는 실행 인스턴스, Registry는 팀이 같은 이미지를 가져가는 장소입니다.

Dockerfile

빌드 규칙

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

재현 가능한 recipe
Image

읽기 전용 템플릿

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

tag보다 digest가 정확
Registry

공유 저장소

CI와 운영 서버가 같은 이미지를 가져오도록 보관합니다.

팀의 기준점
Container

실행 인스턴스

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

운영되는 앱
개념 역할 좋은 신호 혼동하면 생기는 문제
Container실행 단위 앱과 런타임 파일 격리 빠른 시작, 호스트 커널 공유 이미지와 실행 상태를 같은 것으로 봄
Image템플릿 검증된 실행 환경을 고정 digest로 동일성 확인 latest tag로 배포 재현 실패
Compose로컬 묶음 앱, DB, 캐시를 한 네트워크에 실행 service name DNS 운영 배포와 개발 편의를 혼동

핵심: 운영 서버는 소스 폴더가 아니라 검증된 image digest를 받아 container로 실행합니다.