Automatizando a Limpeza de Imagens Docker
Embora a eliminação manual de imagens Docker seja uma opção viável, pode ser demorado e propenso a erros humanos, especialmente em ambientes com um grande número de imagens. Para resolver isso, pode automatizar o processo de limpeza de imagens Docker inutilizadas usando várias ferramentas e scripts.
Usando os Comandos docker prune
O Docker fornece comandos integrados para ajudar a automatizar a limpeza de recursos Docker inutilizados, incluindo imagens. O comando docker image prune pode ser usado para remover imagens pendentes, e o comando docker system prune pode ser usado para remover todos os recursos Docker inutilizados, incluindo imagens, contêineres, volumes e redes.
## Remover imagens pendentes
docker image prune
## Remover todos os recursos Docker inutilizados
docker system prune
Também pode adicionar flags a estes comandos para personalizar o processo de limpeza. Por exemplo, para remover todas as imagens que não estão a ser usadas por nenhum contêiner, pode usar o seguinte comando:
docker image prune -a
Scripting a Limpeza de Imagens Docker
Para automatizar ainda mais o processo de limpeza de imagens Docker, pode criar um script que verifique e remova periodicamente imagens inutilizadas. Aqui está um exemplo de script em Bash que pode usar:
#!/bin/bash
## Remover imagens pendentes
docker image prune -f
## Remover imagens não utilizadas por nenhum contêiner
docker image prune -a -f
## Remover imagens com mais de 30 dias
docker image prune -f --filter "until=720h"
Pode guardar este script num ficheiro (por exemplo, docker-cleanup.sh) e torná-lo executável usando o comando chmod:
chmod +x docker-cleanup.sh
Em seguida, pode configurar um trabalho cron para executar este script regularmente (por exemplo, diariamente ou semanalmente) para automatizar o processo de limpeza de imagens Docker.
0 0 * * * /path/to/docker-cleanup.sh
Isto irá executar o script docker-cleanup.sh todos os dias à meia-noite, removendo automaticamente imagens pendentes, imagens não utilizadas por nenhum contêiner e imagens com mais de 30 dias.
Automatizando o processo de limpeza de imagens Docker, pode garantir que o seu ambiente Docker permanece limpo e eficiente, reduzindo o risco de escassez de espaço em disco e melhorando o desempenho geral das suas aplicações containerizadas.