Docker Hub คือ คลังเก็บ Docker Image ที่ใหญ่ที่สุดในโลก เปรียบเหมือน GitHub แต่สำหรับ Container Image โดยเฉพาะ มีทั้ง Image สาธารณจาก Official และ Community ให้ใช้ฟรีนับล้าน Image
Docker Hub คืออะไร?
Docker Hub ที่ hub.docker.com เป็น Registry กลางสำหรับเก็บและแชร์ Docker Image มีทั้ง Official Image จากผู้พัฒนาต้นทาง เช่น nginx, mysql, node, python และ Image จาก Community ที่ใครก็สามารถ Push ขึ้นมาได้
Pull Image จาก Docker Hub
ทุกครั้งที่รัน docker run หรือ docker pull Docker จะดาวน์โหลด Image จาก Docker Hub อัตโนมัติ ถ้าไม่มีในเครื่อง
# Pull Image ล่าสุด
docker pull nginx
# Pull Image เฉพาะ Version (Tag)
docker pull nginx:1.25
docker pull mysql:8.0
docker pull node:20-alpine
# ดู Image ที่ Pull มาแล้ว
docker images
ค้นหา Image บน Docker Hub
# ค้นหาผ่าน Command Line
docker search nginx
docker search wordpress
หรือค้นหาผ่านเว็บที่ hub.docker.com ซึ่งแสดงรายละเอียด Tag, จำนวน Pull และ Documentation ครบกว่า
Push Image ขึ้น Docker Hub
ต้องการแชร์ Image ที่สร้างเอง ทำได้ดังนี้
1. สมัครและ Login
docker login
2. Tag Image ด้วยชื่อ Username
ชื่อ Image ที่จะ Push ต้องอยู่ในรูปแบบ username/image-name:tag
docker tag my-app:latest somchai/my-app:1.0
3. Push ขึ้น Docker Hub
docker push somchai/my-app:1.0
4. Pull จากเครื่องอื่น
docker pull somchai/my-app:1.0
Official Image vs Community Image
| ประเภท | ตัวอย่าง | ความน่าเชื่อถือ |
|---|---|---|
| Official Image | nginx, mysql, node |
ดูแลโดยทีมต้นทาง สูงมาก |
| Verified Publisher | bitnami/wordpress |
บริษัทที่ Docker รับรอง |
| Community Image | username/image |
ขึ้นอยู่กับผู้สร้าง |
ทางเลือกอื่นนอกจาก Docker Hub
- GitHub Container Registry (ghcr.io) — เชื่อมกับ GitHub Actions ได้ดี
- AWS ECR — สำหรับ Deploy บน AWS
- Private Registry — ติดตั้งเองบน Server ส่วนตัว
สรุป
Docker Hub คือแหล่งรวม Image ที่ใหญ่ที่สุด ใช้ docker pull เพื่อดาวน์โหลดมาใช้ และ docker push เพื่อแชร์ Image ของตัวเอง บทความถัดไปจะอธิบายวิธีลบ Container, Image และ Volume ที่ไม่ใช้ เพื่อรักษาพื้นที่ Disk ให้สะอาดครับ

