TL;DR — 반입 아카이브가 원본보다 1.76~3.37배로 불고, 아카이브 digest가 레지스트리 digest와 달라 무결성 대조가 항상 실패했다. 압축과 digest를 그대로 보존하는 OCI 아카이브로 바꾸고, 원본 형식 유지·인덱스 통째 보존 옵션을 함께 주어 해결했다.

배경

문제 (증상)

원인 분석

두 가지가 겹쳐 있었다.

  1. 압축 손실 — 처음 쓴 아카이브 포맷은 레이어를 풀어서 담는다. 레지스트리에서는 압축된 채로 있던 것이 풀려서 저장되므로 크기가 불어난다
  2. 인덱스 평탄화 — 멀티아키텍처 인덱스를 플랫폼 하나로 골라 담으면, 아카이브가 가리키는 대상이 바뀌어 digest가 원본 인덱스와 달라진다

즉 전송 계층이 원본을 변형하고 있었다. 그러면 "같은 이미지"의 기준이 깨진다.

해결

결과