>  기사  >  운영 및 유지보수  >  docker로 컴파일된 이미지는 어느 디렉터리에 위치합니까?

docker로 컴파일된 이미지는 어느 디렉터리에 위치합니까?

青灯夜游
青灯夜游원래의
2022-05-11 12:14:2818620검색

이미지는 docker 루트 디렉터리에 저장됩니다. 이미지 레이어의 내용은 일반적으로 Docker 디렉터리의 aufs 경로에 있으며, 특정 주소는 각 이미지 레이어에 대해 "/var/lib/docker/aufs/"이며 해당 json 파일이 저장되며 경로는 " /var/lib/docker /graph".

docker로 컴파일된 이미지는 어느 디렉터리에 위치합니까?

이 튜토리얼의 운영 환경: Ubuntu 14.04 시스템, docker-1.7.1 버전, Dell G3 컴퓨터.

Docker 이미지 콘텐츠


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 이미지 콘텐츠에 대한 이론적 분석은 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를 볼 수 있습니다. 결과는 다음과 같습니다.

docker로 컴파일된 이미지는 어느 디렉터리에 위치합니까?

사진은 ubuntu:14.04 이미지에 4개의 이미지 레이어가 있음을 보여줍니다.

이미지 레이어 파일 콘텐츠 저장소

Docker 이미지 레이어의 콘텐츠는 일반적으로 Docker 루트 디렉터리의 aufs 경로(/var/lib/docker/aufs/) 아래에 있습니다.

docker로 컴파일된 이미지는 어느 디렉터리에 위치합니까?

그림은 ubuntu:14.04 이미지의 4개 이미지 레이어 내용과 각 이미지 레이어 내의 첫 번째 수준 디렉터리를 보여줍니다. 추가 참고 사항은 이미지 레이어 d2a0ecffe6fa에는 아무것도 없다는 것입니다.

이미지 json 파일 저장

Docker는 각 이미지 레이어에 대해 해당 json 파일을 저장합니다. json 파일의 저장 경로는 /var/lib/docker/graph, ubuntu:14.04 모든 이미지 레이어입니다. json 파일 저장 경로는 아래와 같습니다:

docker로 컴파일된 이미지는 어느 디렉터리에 위치합니까?

json 파일 외에도 각 이미지 레이어에는 주로 이미지 레이어 내부 파일 콘텐츠의 전체 크기를 기록하는 레이어 크기 파일도 포함되어 있음을 확인할 수 있습니다. 이제 이미지 json 파일에 대해 이야기했으므로 다음을 위한 길을 닦기 위해 ubuntu:14.04 빈 이미지 레이어 d2a0ecffe6fa의 json 파일이 아래에 게시됩니다. 이미지 레이어는 CMD이고, 이미지 레이어의 콘텐츠는 비어 있으며, 이미지 레이어의 json 파일을 변경하면 Cmd 필드가 업데이트되고 새 Cmd 값을 얻게 되므로 이후에 컨테이너를 실행할 때 업데이트된 Cmd를 사용할 수 있습니다. 이미지.

추천 학습: "docker로 컴파일된 이미지는 어느 디렉터리에 위치합니까?docker 비디오 튜토리얼

"

위 내용은 docker로 컴파일된 이미지는 어느 디렉터리에 위치합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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