O gerenciador de pacotes APT do Debian suporta os –-no-install-recommends há anos, portanto apenas as principais dependências estão instaladas e não os pacotes “recomendados”. Aparentemente, a Canonical levou esse tempo todo até agora para descobrir como essa opção é prática para reduzir o tamanho de seus contêineres Docker. Assim, finalmente a Canonical descobre que “–no-install-recommends” vale a pena para o Docker.
Em uma publicação oficial do blog Ubuntu.com, eles anunciaram que suas imagens do Ubuntu Docker foram reduzidas em 60% com o uso da opção –no-install-recommends em seus arquivos do Docker. A opção está no APT e é apenas uma questão de usá-la em vez de anunciar um novo desenvolvimento ou recurso.
Aqui na Canonical, usamos Dockerfiles diariamente para todos os nossos projetos na web. Algo que chamou nossa atenção recentemente foi a quantidade de espaço que estávamos usando para cada imagem do Docker e percebemos que estávamos instalando mais dependências do que precisávamos, diz o anúncio.
Canonical finalmente descobre que “–no-install-recommends” vale a pena para o Docker
Como você deve saber, a Advanced Package Tool, ou APT, é a interface para lidar com a instalação e remoção de software em distribuições baseadas no Debian. Simplifica o processo de gerenciamento de software, automatizando a recuperação, configuração e instalação de pacotes de software.
Cada pacote possui diferentes tipos de dependências:
- Pacotes Necessários
- recomendados
- Pacotes sugeridos
Os pacotes necessários são obrigatórios, pois são necessários para a operação correta do pacote. Ainda assim, os pacotes recomendados e sugeridos não são essenciais e estão aí para oferecer algumas funcionalidades extras que talvez não precisemos usar. Por padrão, o APT instalará os pacotes necessários e recomendados.
Obviamente, evitar pacotes recomendados pode atingir alguns casos extremos, especialmente em um desktop ou servidor mais completo. No entanto, para Docker e containers, eles descobriram que funciona bem com todos os seus projetos da Web baseados em Docker em execução na Canonical.
A Canonical diminuiu o tamanho da imagem do Docker em cerca de 60%, enquanto acelerava o tempo de compilação em cerca de 15%. Portanto, trate isso como um PSA se você não utiliza o “–no-install-recommends ou as outras opções do APT há algum tempo.