Docker Registry ve Hub

Docker Hub, private registry ve image yönetimi

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"