[docker] Docker에서 저장과 내보내기의 차이점은 무엇입니까?
나는 Docker 와 며칠 동안 놀고 있는데 이미 이미지를 만들었습니다 (정말 재미있었습니다!). 이제 나는 일을 지속하고 싶고 save와 export명령에 왔지만 그것들을 완전히 이해하지 못했습니다.
의 차이 무엇입니까 save및 export고정 표시기는?
답변
짧은 대답은 다음과 같습니다.
-
saveVM 또는 실제 서버의 경우 이미지를 가져옵니다. 이는 설치 .ISO 이미지 또는 디스크입니다. 기본 운영 체제이미지를 만드는 데 필요한 모든 체인의 레이어와 메타 데이터를 압축합니다. 그런 다음이 “저장된”이미지 체인을 다른 도커 인스턴스에로드하고이 이미지에서 컨테이너를 만들 수 있습니다.
-
export일반 컨테이너의 스냅 샷처럼 전체 컨테이너를 가져옵니다. 물론 컨테이너 수명 동안 작성된 모든 데이터 파일뿐만 아니라 OS를 저장합니다. 이것은 전통적인 백업과 비슷합니다.컨테이너의 파일 시스템을 포함하는 플랫 .tar 아카이브를 제공합니다.
편집 : 내 설명이 여전히 혼란을 초래할 수 있으므로 이러한 명령 중 하나는 컨테이너와 작동하고 다른 명령은 이미지와 작동한다는 것을 이해하는 것이 중요하다고 생각합니다.
-
이미지는 단일 바이트를 변경하지 않을 것이 0 1000 용기 시작 “죽은”또는 불변으로 간주되어야한다. 그렇기 때문에 시스템 설치 ISO와 비교해 보았습니다. 라이브 CD에 더 가깝습니다.
-
컨테이너 “시동”이미지 및 그 위에 추가의 층을 추가한다. 이 레이어는 컨테이너의 모든 변경 사항을 생성합니다 (생성 / 변경 / 제거 된 파일 …)
답변
save와 export명령 사이에는 두 가지 주요 차이점이 있습니다 .
-
save명령은 전체 이미지를 기록 및 메타 데이터와 함께 저장하지만export명령은 파일 구조 만 기록합니다 (기록 및 메타 데이터 제외). 따라서 내 보낸 tar 파일은 저장된 것보다 작습니다. -
새 이미지를 만들기 위해 내 보낸 파일 시스템을 사용하는 경우 다음이 새로운 이미지는 포함되지 않습니다
USER,EXPOSE,RUN당신 Dockerfile 등에서 명령을. 파일 구조 만 전송됩니다. 따라서 Dockerfile에서 언급 된 키워드를 사용하는 경우 이미지를 다른 시스템으로 전송하기 위해 내보내기 명령을 사용할 수 없습니다. 항상 save 명령을 사용해야합니다.
답변
내 보낸 이미지에는 레이어 또는 기록 정보가 저장되지 않으므로 크기가 더 작아서 롤백 할 수 없습니다.
저장된 이미지는 것이다 층 및 이력 정보를, 그래서 더 큰 있습니다.
이것을 고객에게 제공하는 경우 Q는 해당 계층을 유지 하시겠습니까?
답변
기술적으로 저장 /로드는 레이어라고도하는 하나 이상의 이미지 일 수있는 리포지토리와 함께 작동합니다. 이미지는 리포지토리 내의 단일 레이어입니다. 마지막으로 컨테이너는 인스턴스화 된 이미지입니다 (실행 중이거나 실행되지 않음).
답변
Docker save 이미지 에서 제공된 각 인수에 대해 모든 상위 계층과 모든 태그 + 버전 또는 지정된 repo : tag를 포함하는 tar 파일 저장소를 생성합니다. 합니다.
도커 내보내기 컨테이너 에서 지정된 볼륨의 내용이없는 플랫 내용으로 지정된 파일 (tar 또는 tgz 일 수 있음)을 생성합니다. .
도커 save 는 docker 이미지에서 사용해야하지만 docker export 는 컨테이너에서 사용해야합니다 (실행중인 이미지와 동일)
사용량 저장
도커 저장 [옵션] 이미지 [이미지 …]
tar 아카이브에 이미지 저장 (기본적으로 STDOUT으로 스트리밍 됨)
–help = false 인쇄 사용법 -o, –output = “”STDOUT 대신 파일에 쓰기
수출 사용법
도커 내보내기 [옵션] 컨테이너
컨테이너 파일 시스템의 내용을 tar 아카이브로 내보내기
–help = false 인쇄 사용법 -o, –output = “”STDOUT 대신 파일에 쓰기
답변
export: container (filesystem)-> image tar.
import: exported image tar-> image. 하나의 레이어 만
save: image-> image tar.
load: saved image tar-> image. 모든 레이어가 복구됩니다.
에서 액션 도커, 두 번째 판은 p190.
계층화 된 이미지는 이미지 기록, 컨테이너 생성 메타 데이터 및 삭제되었거나 재정의 된 이전 파일을 유지합니다.
병합 된 이미지에는 파일 시스템의 현재 파일 세트 만 포함됩니다.
답변
