>  기사  >  운영 및 유지보수  >  도커 이미지에는 무엇이 포함되어 있나요?

도커 이미지에는 무엇이 포함되어 있나요?

WBOY
WBOY원래의
2022-06-27 11:23:036116검색

Docker 이미지에는 컨테이너 런타임을 제공하는 데 필요한 프로그램, 라이브러리, 리소스, 구성 및 기타 파일과 런타임을 위해 준비된 일부 구성 매개변수가 포함되어 있습니다. 이미지는 특수 파일 시스템이며 동적 데이터를 포함하지 않습니다. 컨텐츠는 빌드된 후에 변경되지 않습니다.

도커 이미지에는 무엇이 포함되어 있나요?

이 튜토리얼의 운영 환경: linux7.3 시스템, docker 버전 19.03, Dell G3 컴퓨터.

도커 이미지에는 무엇이 포함되어 있나요?

먼저 이미지가 무엇인지 이해하세요.

우리 모두는 운영 체제가 커널 공간과 사용자 공간으로 나누어져 있다는 것을 알고 있습니다. Linux의 경우 커널이 시작된 후 루트 파일 시스템이 마운트되어 사용자 공간 지원을 제공합니다. Docker 이미지(Image)는 루트 파일 시스템과 동일합니다. 예를 들어 공식 이미지 ubuntu:18.04에는 Ubuntu 18.04 최소 시스템용 루트 파일 시스템의 전체 세트가 포함되어 있습니다.

Docker 이미지는 컨테이너 런타임에 필요한 프로그램, 라이브러리, 리소스, 구성 및 기타 파일을 제공하는 것 외에도 런타임을 위해 준비된 일부 구성 매개변수(예: 익명 볼륨, 환경 변수, 사용자, 등.). 이미지에는 동적 데이터가 포함되어 있지 않으며 해당 콘텐츠는 빌드된 후에도 변경되지 않습니다.

계층형 스토리지

이미지에는 운영 체제의 전체 루트 파일 시스템이 포함되어 있기 때문에 용량이 큰 경우가 많습니다. 따라서 Docker를 설계할 때 기술을 최대한 활용하여 계층형 스토리지 아키텍처로 설계합니다. 따라서 엄밀히 말하면 이미지는 ISO와 같은 패키지 파일이 아니며, 이미지의 실제 표현은 파일로 구성되는 것이 아니라 파일 시스템의 집합, 즉 다중 파일 시스템의 조합으로 구성됩니다. 레이어 파일 시스템.

이미지가 빌드되면 이전 레이어가 다음 레이어의 기초가 되어 레이어별로 빌드됩니다. 각 레이어가 구성된 후에는 후속 레이어의 변경 사항이 해당 레이어에서만 발생합니다. 예를 들어, 이전 레벨의 파일을 삭제하는 작업은 실제로 이전 레벨의 파일을 삭제하는 것이 아니라, 현재 레벨의 파일을 삭제된 것으로 표시만 할 뿐입니다. 최종 컨테이너가 실행되면 이 파일은 표시되지 않지만 실제로 파일은 항상 이미지를 따릅니다. 따라서 이미지를 만들 때 각 레이어에는 레이어에 추가해야 할 항목만 포함되어야 하며 레이어 구성이 완료되기 전에 정리해야 합니다.

계층형 스토리지 기능을 사용하면 이미지를 더 쉽게 재사용하고 맞춤 설정할 수도 있습니다. 이전에 구축한 이미지를 기본 레이어로 사용한 다음 새 레이어를 추가하여 필요한 것을 사용자 정의하고 새 이미지를 구축할 수도 있습니다.

확장된 지식:

이미지를 클래스로 이해할 수 있습니다.

먼저 이미지 창고 서비스에서 이미지를 가져와야 합니다. 일반적인 이미지 저장소 서비스는 Docker Hub이지만 다른 이미지 저장소 서비스도 존재합니다.

풀 작업은 이미지를 로컬 Docker 호스트에 다운로드하며, 이미지를 사용하여 하나 이상의 컨테이너를 시작할 수 있습니다.

거울은 여러 겹으로 구성되어 있으며, 각 겹을 겹쳐서 보면 외부에서 보면 독립된 물체처럼 보입니다. 이미지 내부에는 간소화된 운영 체제(OS)가 있으며, 여기에는 애플리케이션 실행에 필요한 파일과 종속성 패키지도 포함되어 있습니다.

컨테이너는 빠르고 컴팩트하게 설계되었기 때문에 이미지는 일반적으로 더 작습니다.

이미지는 실행을 멈추는 컨테이너(클래스)와 같다고 앞서 여러 번 언급했습니다. 실제로 컨테이너를 중지하고 컨테이너에서 새 이미지를 생성할 수 있습니다.

이 전제 하에서 아래 그림과 같이 이미지는 빌드타임 구조로, 컨테이너는 런타임 구조로 이해하면 됩니다.

도커 이미지에는 무엇이 포함되어 있나요?

추천 학습: "docker 비디오 튜토리얼"

위 내용은 도커 이미지에는 무엇이 포함되어 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.