Pular para o conteúdo
Tecnologia

Docker Hub público expõe imagens. Registry privado garante segurança, controle e performance. Harbor é solução enterprise completa.

Conceitos Principais

Docker Registry

Servidor de armazenamento de imagens. HTTP API para push/pull. Backend: filesystem, S3, Azure Blob. Open source, simples.

Harbor

Registry + UI + RBAC + scanning + replicação. Projects, users, policies. Trivy integrado para CVE scan. Webhook para CI/CD.

Autenticação

Basic auth, LDAP, OIDC. TLS obrigatório para produção. Docker login antes de push/pull. Token-based auth.

Replicação

Multi-datacenter. Push-based ou pull-based. Disaster recovery. Edge caching para dev teams.

Passo a Passo

  1. Setup Registry Básico: Docker: docker run -d -p 5000:5000 --name registry registry:2. Tag: docker tag app localhost:5000/app. Push: docker push localhost:5000/app.
  2. TLS para Produção: Gere cert: Let's Encrypt ou self-signed. Mount: -v certs:/certs -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/cert.pem. HTTPS obrigatório.
  3. Autenticação: Htpasswd: htpasswd -Bbn user pass > auth/htpasswd. Mount: -v auth:/auth -e REGISTRY_AUTH=htpasswd. docker login registry.example.com.
  4. Harbor Setup: Compose: wget https://github.com/goharbor/harbor/releases/download/v2.x/harbor-offline-installer-v2.x.tgz. Configure harbor.yml. ./install.sh.
  5. CI/CD Integration: GitHub Actions: docker login $REGISTRY. docker build/push. Harbor webhook notifica deploy. Scan de vulnerabilidades bloqueia push.

Boas Praticas

Recomendacoes

• TLS sempre (não insecure registry)

• RBAC granular (Harbor projects)

• Scan automático de imagens

• Garbage collection para economizar storage

• Backup de registry data

• Replicação para DR

Erros Comuns

Evite estes erros

• HTTP sem TLS (inseguro)

• Não fazer backup

• Sem autenticação

• Não configurar garbage collection (storage cresce infinito)

Checklist

  • Registry deployado com TLS
  • Autenticação configurada
  • Harbor instalado (se enterprise)
  • CI/CD integrado
  • Scan de vulnerabilidades ativo
  • Backup automático configurado
  • Replicação para DR (se multi-region)