Oh My Algorithm
Concept Guide레이어 전송 · 다이제스트

레지스트리 push·pull (Registry)

레지스트리는 이미지를 통째로 주고받지 않습니다. 이미지는 매니페스트(레이어 목록)와 레이어들로 나뉘어 있고, push·pull 은 상대가 갖고 있지 않은 레이어만 전송합니다. 각 레이어는 내용 해시(다이제스트)로 식별되므로 같은 베이스를 쓰는 이미지를 여러 개 올려도 베이스 레이어는 한 번만 저장됩니다.

01 개념 한눈에 보기

Interactive Step-by-Step
레지스트리 · 레이어 단위 push·pull
💻로컬 Docker
myapp:1.2.0 빌드됨
☁️레지스트리
myapp:1.1.0 보관 중
매니페스트 전송
레이어 다이제스트 5개
이미 가진 레이어 응답
4개 존재 · 1개 없음
없는 레이어만 업로드
app 레이어 12 MB
태그 확정
myapp:1.2.0
docker pull 요청
myapp:1.2.0
매니페스트 응답
레이어 다이제스트 5개
없는 레이어만 다운로드
app 레이어 12 MB

레지스트리는 이미지를 통째로 주고받지 않습니다. 이미지는 매니페스트(레이어 목록)와 레이어들로 나뉘어 있습니다.

Logic Node1 / 8

02 쉽게 이해하기

For Everyone
🔑비유

책을 통째로 복사해 보내는 대신 목차(매니페스트)를 먼저 보내고, 상대가 이미 가진 챕터는 건너뛰고 없는 챕터만 부치는 것과 같습니다.

💡쉽게 말하면

push 는 먼저 매니페스트의 레이어 다이제스트를 보내 어떤 레이어가 이미 있는지 확인하고, 없는 것만 업로드합니다.

pull 도 마찬가지로 로컬에 없는 레이어만 내려받습니다.

그래서 두 번째 배포부터는 바뀐 레이어(대개 앱 소스 한 장)만 오가 훨씬 빠릅니다.

다이제스트가 내용 기반이라 태그가 달라도 내용이 같으면 같은 레이어로 취급됩니다.

📍어디에 쓰나
  • CI/CD 배포 시간 단축
  • 이미지 태그·다이제스트로 배포본 고정
  • 프라이빗 레지스트리 운영
  • 레이어 순서 설계로 전송량 줄이기

03 자주 묻는 질문

FAQ
레지스트리 push·pull (Registry)란 무엇인가요?+

레지스트리는 이미지를 통째로 주고받지 않습니다. 이미지는 매니페스트(레이어 목록)와 레이어들로 나뉘어 있고, push·pull 은 상대가 갖고 있지 않은 레이어만 전송합니다. 각 레이어는 내용 해시(다이제스트)로 식별되므로 같은 베이스를 쓰는 이미지를 여러 개 올려도 베이스 레이어는 한 번만 저장됩니다.

레지스트리 push·pull (Registry)은(는) 어디에 사용하나요?+

CI/CD 배포 시간 단축, 이미지 태그·다이제스트로 배포본 고정, 프라이빗 레지스트리 운영, 레이어 순서 설계로 전송량 줄이기

레지스트리 push·pull (Registry)를 쉽게 비유하면?+

책을 통째로 복사해 보내는 대신 목차(매니페스트)를 먼저 보내고, 상대가 이미 가진 챕터는 건너뛰고 없는 챕터만 부치는 것과 같습니다.

Guide Progress0%