Docker 이미지 전송 계층화; Docker 이미지는 레이어로 구축되므로 이미지 구축 과정이 해체되고, 다른 서비스와의 공통점을 찾아 Dockerfile의 각 사양을 기본 이미지로 구성합니다. 새로운 것. 이렇게 하면 디스크 공간이 절약되므로 Docker 이미지 전송이 계층화됩니다.
이 튜토리얼의 운영 환경: linux7.3 시스템, docker 버전 19.03, Dell G3 컴퓨터.
이미지는 특정 소프트웨어를 실행하는 데 필요한 모든 것이 포함된 가볍고 실행 가능한 독립 소프트웨어 패키지입니다. 코드, 런타임에 필요한 라이브러리, 환경 변수, 구성 파일 등을 포함하여 애플리케이션과 구성을 형성되고 전달 가능하며 배포 가능한 운영 환경으로 패키징합니다. 이 대규모 운영 환경 패키지는 이미지 이미지 파일입니다.
Docker 컨테이너 인스턴스는 이미지 파일을 통해서만 생성할 수 있습니다.
docker image layering
의미: 이미지를 구축하는 과정을 분해하고, 다른 서비스와의 공통점을 찾아 베이스 이미지로 공식화합니다.
장점: 디스크 공간 절약,
이미지 업로드/다운로드 시 기본 이미지가 이미 존재하는 경우 반복적으로 업로드 및 다운로드되지 않아 업로드 및 다운로드 속도가 향상됩니다.
단점: 기본 이미지가 변경되면 모든 하위 이미지가 - 거울이 바뀔 거예요.
Docker 이미지 계층화 메커니즘
Docker 이미지는 계층으로 구축됩니다. Docker에 대해 자세히 알아보면 Dockerfile의 각 사양이 새 계층을 생성한다는 것을 이해하게 됩니다. 다음 Dockerfile 지침을 예로 들어 보겠습니다.
FROM ubuntu:20.04#基础镜像 COPY . /app#复制文件 RUN make /app#编译文件 CMD python /app/app.py#入口文件
위의 4개 지침은 각 계층에서 이 계층이 수행한 변경 사항만 기록하며 이러한 계층은 읽기 전용 계층입니다. 컨테이너를 시작할 때 상단에 읽기-쓰기 레이어를 추가하는 Docker 명령입니다. 컨테이너에서 이루어진 모든 변경 사항(로그 쓰기, 파일 수정, 삭제 등)은 일반적으로 이 레이어에 저장됩니다. 그림과 같이 컨테이너 레이어라고 합니다.
사실 컨테이너와 이미지의 주요 차이점은 컨테이너가 최상위 읽기 및 쓰기 레이어를 추가한다는 것입니다. 컨테이너에 대한 모든 수정은 이 레이어에서 이루어지며 이미지는 수정되지 않습니다. 이는 앞서 언급한 COW(기록 중 복사) 기술입니다. 컨테이너가 파일을 읽어야 하는 경우 하위 읽기 전용 레이어에서 직접 읽을 수 있습니다. 파일을 수정해야 하는 경우 파일은 수정을 위해 상위 읽기-쓰기 레이어에 복사되고 읽기 전용 레이어에는 파일이 복사됩니다. 변함없이 유지됩니다.
각 컨테이너에는 자체 읽기-쓰기 레이어가 있으므로 여러 컨테이너가 동일한 이미지를 사용할 수 있습니다. 또한 컨테이너가 삭제되면 해당 읽기-쓰기 레이어도 삭제됩니다. 데이터의 경우 Docker 볼륨을 사용할 수 있습니다.
추천 학습: "docker 비디오 튜토리얼"
위 내용은 도커 이미지의 전송 계층화입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!