Docker Hub
Docker'ın resmi public registry'sidir. Milyonlarca hazır image içerir.
Login ve Push
# Docker Hub'a giriş
docker login
# Image'ı tag'le
docker tag myapp:latest username/myapp:latest
# Push et
docker push username/myapp:latest
# Pull et
docker pull username/myapp:latest
# Logout
docker logout
Image Tag'leme Stratejileri
# Semantic versioning
docker tag myapp:latest myapp:1.0.0
docker tag myapp:latest myapp:1.0
docker tag myapp:latest myapp:1
# Git commit hash
docker tag myapp:latest myapp:abc123f
# Build numarası
docker tag myapp:latest myapp:build-42
Private Registry
# Yerel registry başlat
docker run -d \
-p 5000:5000 \
--name registry \
-v registry_data:/var/lib/registry \
registry:2
# Image'ı private registry'ye push
docker tag myapp:latest localhost:5000/myapp:latest
docker push localhost:5000/myapp:latest
# Pull
docker pull localhost:5000/myapp:latest
Registry UI
version: '3.8'
services:
registry:
image: registry:2
ports:
- "5000:5000"
volumes:
- registry_data:/var/lib/registry
registry-ui:
image: joxit/docker-registry-ui:latest
ports:
- "8080:80"
environment:
- REGISTRY_TITLE=My Registry
- REGISTRY_URL=http://registry:5000
depends_on:
- registry
volumes:
registry_data:
Image Cleanup
# Dangling images (tag'siz)
docker image prune
# Kullanılmayan tüm images
docker image prune -a
# Belirli süre öncesi
docker image prune -a --filter "until=24h"