요구 사항: 이제 특정 디렉터리를 정기적으로 회전하고 docker load 명령을 사용하여 해당 디렉터리에 있는 .tar 파일의 이미지를 로드해야 하는 요구 사항이 발생했습니다.
질문 1: 분명히 .tar 파일은 docker save 이미지 이름: version > abc.tar를 사용하여 패키징된 경우에만 성공적으로 다시 로드될 수 있습니다. 그렇다면 .tar 파일의 형식이 올바른지, 이미지 콘텐츠가 완전한지 확인하는 방법은 무엇입니까? 이런 방법으로 docker에 저장되지 않은 파일을 삭제할 수 있습니다.
질문 2: 이 디렉토리를 사용하려면 사용자가 .tar 파일을 업로드해야 합니다. 일부 이미지에 저장된 .tar 파일이 매우 크다는 점을 고려하면 업로드하는 데 많은 시간이 걸립니다. 특정 .tar 파일이 삭제되지 않도록 업로드되고 있는지 확인하는 방법.
제가 명확하게 표현했는지 모르겠네요. 혹시 좋은 아이디어 있으신가요?
高洛峰2017-04-25 09:05:12
docker save
내보낸 파일은 실제로 일반 압축 파일입니다. 이 압축 파일에는 이미지의 모든 이미지 레이어와 이미지의 기본 정보가 포함된 매니페스트 파일이 포함되어 있습니다. 매니페스트 파일에는 모든 이미지 레이어의 해시 값이 포함되어 있습니다. 이러한 기능 값을 사용하여 이미지 레이어 파일이 완전하고 올바른지 확인할 수 있습니다. 매니페스트 파일과 모든 이미지 레이어 파일의 내용을 확인하여 이미지의 내보낸 데이터가 올바른지 확인할 수 있습니다.
大家讲道理2017-04-25 09:05:12
확실하지 않습니다. 공식 문서에는 검증 문제에 대한 언급이 없습니다 (@유명 답변 참조)
예를 들어 실제 업로드 디렉토리가 작업 디렉토리와 분리되어 있는지 확인하는 방법은 많습니다(/upload에 업로드한 다음 완료 후 /publish로 이동하고 삭제하면 /publish 아래의 디렉터리만 삭제하거나, 파일 업로드 후 .md5sum 확인 파일을 가져오세요. .md5sum 확인 파일이 없으면 아직 파일이 업로드되지 않은 것입니다