이미지는 docker 루트 디렉터리에 저장됩니다. 이미지 레이어의 내용은 일반적으로 Docker 디렉터리의 aufs 경로에 있으며, 특정 주소는 각 이미지 레이어에 대해 "/var/lib/docker/aufs/"이며 해당 json 파일이 저장되며 경로는 " /var/lib/docker /graph".
이 튜토리얼의 운영 환경: Ubuntu 14.04 시스템, docker-1.7.1 버전, Dell G3 컴퓨터.
Docker 이미지를 처음으로 이해하는 일은 언제나 있을 것입니다. 그 이후로 성장도 있었습니다.
Docker와의 첫 접촉: 많은 애호가들이 나와 같은 이해를 가질 것이라고 믿습니다. Docker 이미지는 컨테이너의 파일 시스템 콘텐츠를 나타냅니다.
공동 파일 시스템과의 초기 접촉: 공동의 개념 파일 시스템을 통해 저는 이미지 레벨 관리 기술을 깨달았습니다. 이미지의 각 레이어는 컨테이너 파일 시스템 콘텐츠의 일부입니다.
이미지와 컨테이너 간의 관계 연구: 컨테이너는 동적 환경이며 이미지의 각 레이어에 있는 파일은 정적 콘텐츠입니다. 그러나 Dockerfile의 ENV, VOLUME, CMD 및 기타 콘텐츠는 궁극적으로 컨테이너 환경 실행에 구현되며 이러한 콘텐츠는 이미지의 각 레이어에 포함된 파일 시스템 콘텐츠에서 직접 찾을 수 없습니다. 그러면 Docker는 콘텐츠의 이 부분을 어떻게 관리합니까?
그리고 위의 세 번째 단계에서는 많은 이미지 레이어의 크기가 0이고 이미지 레이어 내부에 파일 내용이 없다는 또 다른 상황이 있습니다. 무슨 일이야?
"Docker 이미지 상세 토론(1): 컨테이너 파일 시스템"에서 빈 이미지 생성에 대해 "이미지의 json 파일 업데이트"를 언급한 것을 기억하실 수 있습니다. 실제로 이전 기사에 제시된 예시는 진실을 암시합니다. Docker 이미지 콘텐츠는 이미지 레이어 파일 콘텐츠와 이미지 json 파일로 구성됩니다. 정적 콘텐츠나 동적 정보에 관계없이 Docker는 이를 json 파일에서 업데이트합니다.
Docker 이미지의 각 레이어의 json 파일은 매우 중요한 역할을 합니다. 주요 기능은 다음과 같습니다.
Docker 이미지에 컨테이너의 동적 정보와 관련된 내용을 기록합니다.
아버지와 아들 기록 Docker 이미지의 실제 차이점 관계
Docker 이미지 콘텐츠의 완성도와 동적 콘텐츠의 부족함을 보완합니다
Docker 이미지의 json 파일은 다음과 같이 간주될 수 있습니다. 이미지의 메타데이터 정보와 그 중요성은 아무리 강조해도 지나치지 않습니다.
Docker 이미지 콘텐츠에 대한 이론적 분석은 Docker 이미지 레이어 파일이나 json 파일에 관계없이 다소 읽기가 지루합니다. Docker의 실제 환경을 엿볼 수 있다면 미러링 기술을 이해하는 데 큰 도움이 될 것이라고 믿습니다.
Docker 이미지 저장부터 시작하여 해당 이미지 레이어 파일과 이미지 json 파일의 콘텐츠가 어디에 저장되어 있는지 살펴보겠습니다. (아래 표시된 실험 환경: 호스트 운영 체제는 Ubuntu 14.04, Docker 버전은 1.7.1, graphdriver 유형은 aufs이고 ubuntu:14.04 이미지 하나만 포함되어 있습니다.)
이미지 레이어 구성 보기
docker History ubuntu:14.04 명령을 실행하면 ubuntu:14.04를 볼 수 있습니다. 결과는 다음과 같습니다.
사진은 ubuntu:14.04 이미지에 4개의 이미지 레이어가 있음을 보여줍니다.
이미지 레이어 파일 콘텐츠 저장소
Docker 이미지 레이어의 콘텐츠는 일반적으로 Docker 루트 디렉터리의 aufs 경로(/var/lib/docker/aufs/) 아래에 있습니다.
그림은 ubuntu:14.04 이미지의 4개 이미지 레이어 내용과 각 이미지 레이어 내의 첫 번째 수준 디렉터리를 보여줍니다. 추가 참고 사항은 이미지 레이어 d2a0ecffe6fa에는 아무것도 없다는 것입니다.
이미지 json 파일 저장
Docker는 각 이미지 레이어에 대해 해당 json 파일을 저장합니다. json 파일의 저장 경로는 /var/lib/docker/graph, ubuntu:14.04 모든 이미지 레이어입니다. json 파일 저장 경로는 아래와 같습니다:
json 파일 외에도 각 이미지 레이어에는 주로 이미지 레이어 내부 파일 콘텐츠의 전체 크기를 기록하는 레이어 크기 파일도 포함되어 있음을 확인할 수 있습니다. 이제 이미지 json 파일에 대해 이야기했으므로 다음을 위한 길을 닦기 위해 ubuntu:14.04 빈 이미지 레이어 d2a0ecffe6fa의 json 파일이 아래에 게시됩니다. 이미지 레이어는 CMD이고, 이미지 레이어의 콘텐츠는 비어 있으며, 이미지 레이어의 json 파일을 변경하면 Cmd 필드가 업데이트되고 새 Cmd 값을 얻게 되므로 이후에 컨테이너를 실행할 때 업데이트된 Cmd를 사용할 수 있습니다. 이미지.
추천 학습: "docker 비디오 튜토리얼
"위 내용은 docker로 컴파일된 이미지는 어느 디렉터리에 위치합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!