ข้ามไปยังเนื้อหา

Registry, CI & Deploy — ภาพรวมโมดูล

เมื่อคุณ build Docker image แล้ว image นั้นจะอยู่แค่บนเครื่องของคุณเท่านั้น Registry คือ server ที่ทำหน้าที่จัดเก็บและแจกจ่าย image เพื่อให้เครื่องอื่น ๆ — CI runner, cloud server, หรือเครื่องของเพื่อนร่วมทีม — สามารถ pull และรัน image เดียวกันได้

ขั้นตอนมีอยู่เสมอสามขั้นตอนเดิม:

Build → Tag → Push (เครื่องของคุณ / CI runner)
Registry
Pull → Run (เซิร์ฟเวอร์ deploy)

แต่ละขั้นตอนตรงกับ Docker command ที่คุณรู้จักแล้ว (หรือจะได้เรียนในโมดูลนี้):

Terminal window
docker build -t myapp:1.0 .
docker tag myapp:1.0 docker.io/acme/myapp:1.0
docker push docker.io/acme/myapp:1.0
# --- บนเซิร์ฟเวอร์ ---
docker pull docker.io/acme/myapp:1.0
docker run -d docker.io/acme/myapp:1.0
Registryที่อยู่หมายเหตุ
Docker Hubdocker.io (ค่าเริ่มต้น)Registry สาธารณะที่ใหญ่ที่สุด; repo สาธารณะฟรี
GHCRghcr.ioGitHub Container Registry; รวมกับ GitHub Actions
ECR*.dkr.ecr.*.amazonaws.comของ AWS; ใช้ IAM auth
GAR*.pkg.devGoogle Artifact Registry
Self-hostedทุก hostรัน registry:2 เอง

เมื่อไม่ระบุที่อยู่ registry Docker จะใช้ docker.io เป็นค่าเริ่มต้น เช่น FROM node:22-alpine เป็นชื่อย่อของ FROM docker.io/library/node:22-alpine

บทเรียนสิ่งที่คุณจะเรียนรู้
หน้านี้Registry, workflow การแจกจ่าย image, Docker Hub เทียบกับตัวเลือกอื่น
Docker Hubบัญชี, repo, สาธารณะ vs ส่วนตัว, docker login, rate limits
Tag, Push & Pullรูปแบบการตั้งชื่อ, docker tag, docker push, docker pull, version tags
GitHub Actions CIBuild & push อัตโนมัติด้วย docker/build-push-action
Deploy basicsdocker run -d, --restart, rolling updates, secrets บน host

ไม่ต้องใช้ credentials — image สาธารณะบน Docker Hub สามารถ pull ได้โดยตรงจาก Play with Docker ลองเลยตอนนี้

# Pull a public image from Docker Hub
docker pull docker.io/library/hello-world:latest

# Run it
docker run --rm hello-world

# Pull an nginx image and check the tag
docker pull nginx:1.27-alpine
docker images nginx
จุดประสงค์หลักของ container registry คืออะไร?
Docker ใช้ registry ใดเป็นค่าเริ่มต้นเมื่อไม่ระบุที่อยู่ registry?
ลำดับขั้นตอนที่ถูกต้องในกระบวนการแจกจ่าย image คืออะไร?