#0001
컨테이너 레지스트리 내부 구조로 `Push/Pull` 디버깅하기
How Container Registries Work: Push/Pull Images Directly
40radar
docker push 뒤에서 태그·매니페스트·레이어가 어떻게 묶이는지 알아야 배포 장애를 빨리 좁힌다. 작은 서비스도 컨테이너로 배포한다면 실전 디버깅 가치 있음.
- 레지스트리는 콘텐츠 주소 지정 blob 저장소다. 레이어는 digest로 참조되며, blob 누락 시 태그가 있어도 pull이 깨진다.
- 태그는 고정 버전이 아니라 바뀔 수 있는 포인터다. 재현 가능한 배포에는
latest보다 이미지 digest 고정이 안전하다. - 플랫폼 불일치는 매니페스트 메타데이터에서 터진다. 로컬 ARM 빌드를 x86 서버에 올릴 때 먼저 확인해야 한다.
- 삭제도 단순하지 않다. 태그 제거와 실제 blob 정리는 다르며, 레지스트리 GC 동작까지 봐야 저장공간이 줄어든다.
출처: news.hada.io/topic?id=30004원문 보기 →