2.5.5.5.5. 매니페스트 스키마 v2 지원
각 이미지에 해당 Blob, 실행 지침 및 추가 메타데이터를 설명하는 매니페스트가 있습니다. 매니페스트는 버전이 지정되며 각 버전은 시간이 지남에 따라 구조와 필드가 서로 다릅니다. 동일한 이미지는 여러 매니페스트 버전으로 표시할 수 있습니다. 하지만 각 버전에는 다른 다이제스트가 있습니다.
레지스트리는 현재 매니페스트 v2 스키마 1 (schema1) 및 매니페스트 v2 스키마 2( schema 2)를 지원합니다. 전자는 더 이상 사용되지 않지만 연장된 시간 동안 지원됩니다.
기본 구성은 schema2 를 저장하는 것입니다.
다양한 Docker 클라이언트와의 호환성 문제가 주의해야 합니다.
- 버전 1.9 이상의 Docker 클라이언트는 schema1 만 지원합니다. 이 클라이언트 풀 또는 푸시는 이 레거시 스키마의 모든 매니페스트입니다.
- 버전 1.10의 Docker 클라이언트는 schema 1 및 schema 2 를 모두 지원합니다. 최신 스키마를 지원하는 경우 기본적으로 후자를 레지스트리로 푸시합니다.
schema1 이 있는 이미지를 저장하는 레지스트리는 항상 변경되지 않은 상태로 클라이언트로 반환됩니다. Schema2 는 변경되지 않고 최신 Docker 클라이언트로만 전송됩니다. 이전 버전의 경우 on-the-fly를 schema1 로 변환합니다.
이것은 큰 결과를 가져옵니다. 예를 들어 최신 Docker 클라이언트에서 레지스트리에 푸시된 이미지를 다이제스트에서 이전 Docker에서 가져올 수 없습니다. 저장된 이미지의 매니페스트는 schema2 이고 다이제스트를 사용하여 이 매니페스트 버전만 가져올 수 있기 때문입니다.
모든 레지스트리 클라이언트가 schema2 를 지원한다고 확신하면 레지스트리에서 안전하게 지원을 활성화할 수 있습니다. 특정 옵션은 위의 미들웨어 구성 참조를 참조하십시오.