C.W.K.
Stream
Lesson 01 of 05 · published

Image Pull — Tag, Variant, Digest

~12 min · commands, registry

Level 0Container 호기심
0 XP0/36 lessons0/10 achievements
0/120 XP to next level120 XP to go0% complete

Image 가 어디서 오나

docker pull 은 registry 에서 로컬 image 캐시로 다운받아. 디폴트 registry 는 Docker Hub (docker.io). 어떤 OCI registry 든 써도 돼: GHCR, ECR, GCR, ACR, 셀프호스트 Harbor.

중요한 tag 패턴

  • nginxdocker.io/library/nginx:latest 로 확장. 암묵적. 가변. production 에 독.
  • nginx:1.27-alpine → 버전 + variant. 팀 전체 재현 가능. 옳은 디폴트.
  • nginx@sha256:abc123... → digest 로 핀. 바이트 동일. 재현 가능 CI/CD 에선 유일한 선택.

:latest 트랩

:latest 는 그냥 tag 이름이야. publisher 가 마지막에 그 tag 로 push 한 게 뭐든 그거. 하룻밤 사이에 바뀔 수 있어. 같은 팀의 두 엔지니어가 :latest 쓰면 다른 코드 돌리고 있을 수 있어. production 에선 절대 쓰지 마. dev 에서도 피해.

Code

Pull 패턴·bash
# Implicit (don't do this in real work)
docker pull nginx

# Pinned version + variant — the daily-use form
docker pull nginx:1.27-alpine
docker pull python:3.12-slim
docker pull postgres:16

# Pinned by digest — for CI, supply chain, regulatory contexts
docker pull nginx@sha256:9d1c5a3c2c8f...   # immutable forever

# Pull from a non-Hub registry
docker pull ghcr.io/cwk/myapp:v1.2.3
docker pull 123456.dkr.ecr.us-east-1.amazonaws.com/myapp:1.0

External links

Exercise

python:3.12-slim 한 번 pull, docker images --digests 로 digest 적어둬. 일주일 뒤 다시 pull. digest 같아? 다르면 — 재현성에 대해 뭘 말해주냐, 그리고 CI 용으로 어떻게 핀할까?

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.