programing

도커에서 저장과 내보내기의 차이점은 무엇입니까?

instargram 2023. 8. 25. 23:15
반응형

도커에서 저장과 내보내기의 차이점은 무엇입니까?

저는 며칠 동안 도커와 놀고 있고 이미 몇 개의 이미지를 만들었습니다(정말 재미있었습니다!).이제 저는 제 일을 계속하고 싶고 회사에 왔습니다.save그리고.export명령어는 이해가 잘 안 돼요

사이의 차이점은 무엇입니까?save그리고.export도커에서?

간단한 대답은 다음과 같습니다.

  • saveVM 또는 물리적 서버에 대한 이미지(설치)를 가져옵니다.ISO 이미지 또는 디스크.기본 운영 체제입니다.

    이미지를 구축하는 데 필요한 모든 체인의 레이어와 메타데이터를 패킹합니다.그런 다음 이 "저장된" 이미지 체인을 다른 도커 인스턴스에 로드하고 이러한 이미지에서 컨테이너를 만들 수 있습니다.

  • export일반 VM의 스냅샷처럼 전체 컨테이너를 가져옵니다.물론 OS뿐만 아니라 컨테이너 수명 동안 작성된 모든 데이터 파일을 저장합니다.이것은 기존 백업에 더 가깝습니다.

    컨테이너의 파일 시스템이 포함된 flat.tar 아카이브를 제공합니다.

편집: 설명이 혼란스러울 수 있으므로 이러한 명령 중 하나는 컨테이너에서 작동하고 다른 하나는 이미지에서 작동한다는 점을 이해하는 것이 중요하다고 생각합니다.

  • 이미지는 'dead' 또는 불변으로 간주되어야 하며, 이미지에서 0 또는 1000개의 컨테이너를 시작하면 단일 바이트가 변경되지 않습니다.그것이 제가 앞서 시스템 설치 ISO와 비교한 이유입니다.아마 라이브 CD에 더 가까울 겁니다.

  • 컨테이너는 이미지를 "부팅"하고 그 위에 레이어를 추가합니다.이 계층은 컨테이너의 모든 변경 사항(생성/변경/제거된 파일...)을 저장합니다.

사이에는 두 가지 주요 차이점이 있습니다.save그리고.export명령을 실행합니다.

  1. save명령은 전체 이미지를 기록 및 메타데이터로 저장하지만export명령은 기록 및 메타데이터 없이 파일 구조만 내보냅니다.따라서 내보낸 tar 파일은 저장된 파일보다 작습니다.

  2. 새 이미지를 만들기 위해 내보낸 파일 시스템을 사용할 때 이 새 이미지에는 다음이 포함되지 않습니다.USER,EXPOSE,RUNDocker 파일의 명령어 등을 입력합니다.파일 구조만 전송됩니다.따라서 도커 파일에서 언급된 키워드를 사용하는 경우 내보내기 명령을 사용하여 이미지를 다른 컴퓨터로 전송할 수 없습니다. 항상 save 명령을 사용해야 합니다.

export:container (filesystem)->image tar.
import:exported image tar->image한 층만.

save:image->image tar.
load:saved image tar->image모든 계층이 복구됩니다.

행동 중인 도커로부터, 제2판 p190.

계층화된 이미지는 이미지, 컨테이너 생성 메타데이터 및 삭제되거나 재정의되었을 수 있는 이전 파일의 기록을 유지 관리합니다.

플랫 이미지에는 파일 시스템의 현재 파일 집합만 포함됩니다.

내보낸 이미지에는 저장된 계층 또는 기록 정보가 없으므로 이미지 크기가 작아지고 롤백할 수 없습니다.

저장된 이미지에는 계층 및 기록 정보가 더 크게 표시됩니다.

이를 고객에게 제공할 경우, 해당 계층을 유지할 것인지 여부가 문제입니다.

기술적으로 저장/로드는 계층이라고도 하는 하나 이상의 이미지일 수 있는 리포지토리와 함께 작동합니다.이미지는 레포 내의 단일 레이어입니다.마지막으로 컨테이너는 인스턴스화된 이미지(실행 중인지 여부)입니다.

도커 저장 이미지에서 제공된 각 인수에 대해 모든 상위 도면층과 모든 태그 + 버전 또는 지정된 repo:tag가 포함된 tar 파일 repo를 생성합니다.

도커 내보내기 컨테이너에서 지정된 볼륨의 콘텐츠 없이 플랫 콘텐츠로 지정된 파일(tar 또는 tgz일 수 있음)을 생성합니다.

도커 저장은 도커 이미지에서 사용해야 하는 반면 도커 내보내기는 컨테이너에서 사용해야 합니다(실행 중인 이미지와 동일).

사용량 저장

도커 저장 [OPTIONS] IMAGE [IMAGE...]

tar 아카이브(기본적으로 STDOUT로 스트리밍됨)에 영상을 저장합니다.

--help=false Print use -o, --output=" STDOUT 대신 파일에 쓰기

내보내기 사용

도커 내보내기 [옵션] 컨테이너

컨테이너의 파일 시스템 내용을 tar 보관 파일로 내보내기

--help=false Print use -o, --output=" STDOUT 대신 파일에 쓰기

언급URL : https://stackoverflow.com/questions/22655867/what-is-the-difference-between-save-and-export-in-docker

반응형