Gerenciamento de Imagens Docker ๐ฎ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ IMAGE MANAGEMENT MATRIX โ
โ โ
โ โโโโโโโโโโโ โโโโโโโโโโโ โโโโโโโโโโโ โ
โ โ Pull โโโโโโถโ Tag โโโโโโถโ Push โ โ
โ โโโโโโโโโโโ โโโโโโโโโโโ โโโโโโโโโโโ โ
โ โ โ โ โ
โ โโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโ โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Comandos Essenciais ๐ ๏ธ
Gerenciamento Básico
# Listar imagens
docker images
# Baixar imagem
docker pull nginx:latest
# Remover imagem
docker rmi nginx:latest
# Remover todas imagens nรฃo utilizadas
docker image prune
Tagging e Versionamento
# Criar tag
docker tag nginx:latest meu-registry.com/nginx:v1.0
# Remover tag
docker rmi meu-registry.com/nginx:v1.0
# Listar tags de uma imagem
docker image inspect nginx --format='{{.RepoTags}}'
Sistema de Tags ๐ท๏ธ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ TAG CONVENTIONS โ
โ โ
โ registry.example.com/org/app:1.0.0-alpine โ
โ โโโโ Registry โโ โโ Name โโ โโ Tag โโ โโ Variant โโ โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Convenções Comuns
latest
: versão mais recente1.0.0
: versão semânticastable
: versão estáveldev
: versão desenvolvimentoalpine
: variante específica
Registries e Distribuição ๐
Docker Hub
# Login no Docker Hub
docker login
# Push para Docker Hub
docker push username/app:tag
# Pull do Docker Hub
docker pull username/app:tag
Registry Privado
# Login em registry privado
docker login meu-registry.com
# Push para registry privado
docker push meu-registry.com/app:tag
# Pull de registry privado
docker pull meu-registry.com/app:tag
Otimização e Limpeza ๐งน
Limpeza de Sistema
# Remover imagens nรฃo utilizadas
docker image prune -a
# Remover imagens dangling
docker image prune
# Limpar todo o sistema
docker system prune
Otimização de Espaço
# Verificar uso de espaรงo
docker system df
# Anรกlise detalhada
docker system df -v
Boas Práticas โจ
DO's โ
Use tags específicas em produção
Mantenha um registro de versões
Documente variantes de imagens
Implemente política de retenção
Automatize o processo de build/push
DON'Ts โ
Evite usar
latest
em produçãoNão acumule imagens antigas
Não armazene dados sensíveis
Não ignore vulnerabilidades
Não deixe imagens sem tag
Automação e CI/CD ๐ค
GitHub Actions Example
steps:
- uses: actions/checkout@v2
- name: Login to Registry
run: docker login -u ${{ secrets.DOCKER_USER }} -p ${{ secrets.DOCKER_TOKEN }}
- name: Build and Push
run: |
docker build -t app:${{ github.sha }} .
docker push app:${{ github.sha }}
Waifu Tips ๐ก
Troubleshooting ๐ง
Problemas Comuns
Pull Fails
# Verificar conectividade docker info # Limpar cache DNS docker system prune --volumesPush Errors
# Verificar autenticaรงรฃo docker login # Verificar permissรตes docker push app:tag
Próximos Passos ๐ฏ
15 abril 2025