Container

컨테이너 이미지

검정비니 2023. 10. 25. 20:23
728x90
반응형

컨테이너 이미지는 컨테이너 기술을 다루는 거의 모든 사람이 처음 접하게 되는 기술이다.

컨테이너 이미지는 OS 컨테이너 내부에서 프로그램을 실행하는데 필요한 모든 파일을 캡슐화하는 바이너리 패키지다.

 

컨테이너를 처음 접하는 방식에 따라 로컬 파일 시스템에서 컨테이너 이미지를 빌드하거나 이미 구축돼 있는 컨테이너 레지스트리(container registry)로부터 이미지를 다운로드하기도 한다. 두 경우 모두 컴퓨터에 컨테이너 이미지가 있으면 해당 이미지를 실행해 OS 컨테이너 내부에서 실행되는 애플리케이션을 생성할 수 있다.

 

가장 유명하고 널리 사용되는 컨테이너 이미지 포맷을 도커 이미지 포맷이며, 이를 사용할 경우 도커 명령으로 컨테이너를 패키징, 배포, 실행할 수 있다.

도커 이미지 포맷은 도커 오픈소스 프로젝트에 의해 개발됐으며, 이후 OCI 프로젝트로 도커와 기타 여러 업체를 통해 컨테이너 이미지 포맷이 표준화되었다.

OCI 표준은 2017년 중반 1.0버전을 릴리스했지만 표준 채택 작업은 느리게 진행되고 있다.

도커 이미지 포맷은 사실상 표준이며 일련의 파일 시스템 계층으로 구성되어 있다.

각 계층은 파일 시스템의 이전 계층으로부터 파일을 추가, 제거 또는 수정한다. 이것이 바로 오버레이 파일 시스템의 예시이다.

오버레이 시스템은 이미지를 패키징할 때와 해당 이미지를 실제로 사용할 때 모두 사용된다.

aufs, overlay, overlay2를 포함한 다양한 종류의 오버레이 파일 시스템이 런타임 환경에 존재한다.

 

컨테이너 계층화

도커 이미지 포맷과 컨테이너 이미지라는 문구는 약간 혼동될 수 있다.

이미지는 단일 파일이 아니라 다른 파일을 가리키는 매니페스트 파일의 명세다.

매니페스트와 관련 파일은 사용자가 단위로 취급하는 경우가 많다.

간접 참조를 통해 좀 더 효율적인 저장과 전송이 가능하다.

이 포맷과 연관된 이미지는 이미지를 이미지 레지스트리에 업로드하고 다운로드하기 위한 API다.

 

컨테이너 이미지는 일련의 파일 시스템 계층으로 구성돼 있으며, 각 계층은 이전 계층을 상속하고 수정한다.

 

각 컨테이너 이미지 계층은 이전 컨테이너를 기반으로 빌드된다.

각 부모 계층에 대한 참조는 포인터를 활용한다.

반응형

'Container' 카테고리의 다른 글

다중 컨테이너 배포 패턴  (0) 2023.12.25
컨테이너 이미지 빌드 시 최적화 및 보안  (0) 2023.10.25