Analise e explore o conteúdo das imagens Docker
Inspecione o conteúdo da imagem Docker com Dive
Como você já deve saber, uma imagem de contêiner do Docker é um pacote de software leve, independente e executável que contém tudo o que é necessário para executar um aplicativo. É por isso que as imagens de contêiner são frequentemente usadas por desenvolvedores para criar e distribuir aplicativos. Se você está curioso para saber o que há em uma imagem do Docker, este breve guia pode ajudá-lo. Hoje vamos aprender a analisar e explorar o conteúdo das imagens Docker camada por camada usando uma ferramenta chamada "Dive".
Ao analisar uma imagem do Docker, podemos descobrir possíveis arquivos duplicados nas camadas e removê-los para reduzir o tamanho da imagem do Docker.
O utilitário Dive não é apenas um analisador de imagens Docker, mas também nos ajuda a construir um. Dive é uma ferramenta gratuita e de código aberto escrita na linguagem de programação Go.
Instale o mergulho no Linux
Obtenha a versão mais recente na página de lançamentos e instale-a conforme mostrado abaixo, dependendo da distribuição que você usa.
Se você estiver no Debian ou Ubuntu, execute os seguintes comandos para fazer o download e instalá-lo.
wget https://github.com/wagoodman/dive/releases/download/v0.0.8/dive_0.0.8_linux_amd64.deb
sudo apt install ./dive_0.0.8_linux_amd64.deb
No RHEL/CentOS:
wget https://github.com/wagoodman/dive/releases/download/v0.0.8/dive_0.0.8_linux_amd64.rpm
sudo rpm -i dive_0.0.8_linux_amd64.rpm
Ele está disponível em AUR, então você pode instalar usando qualquer ferramenta auxiliar do AUR, por exemplo Yay, no Arch Linux e suas variantes.
yay -S dive
O Dive também pode ser instalado usando o gerenciador de pacotes Linuxbrew.
brew tap wagoodman/dive
brew install dive
Para outros métodos de instalação, consulte a página do GitHub do projeto fornecida no final deste guia.
Analise e explore o conteúdo das imagens Docker
Para analisar uma imagem Docker, basta executar o comando dive com Docker "Image ID". Você pode obter os IDs das suas imagens Docker usando o comando "sudo docker images".
sudo dive ea4c82dcd15a
Aqui, ea4c82dcd15a é o ID da imagem do Docker.
O comando Dive analisará rapidamente a imagem Docker fornecida e exibirá seu conteúdo no Terminal.
Como você pode ver na imagem acima, as camadas de determinada imagem do docker e seus detalhes, espaço desperdiçado são mostrados no painel esquerdo. No painel direito, o conteúdo de cada camada na imagem Docker fornecida. Você pode alternar entre os painéis esquerdo e direito usando a tecla Ctrl+BARRA DE ESPAÇO e as setas PARA CIMA/PARA BAIXO para navegar pela árvore de diretórios.
A lista de atalhos de teclado para usar "Dive".
- Ctrl+Barra de espaço - Alterna entre os painéis esquerdo e direito,
- Barra de espaço - Expandir/recolher a árvore de diretórios,
- Ctrl+A - Mostrar/ocultar arquivos adicionados,
- Ctrl+R - Mostrar/ocultar arquivos removidos,
- Ctrl+M - Mostrar/ocultar arquivos modificados,
- Ctrl+U - Mostrar/ocultar arquivos não modificados,
- Ctrl+ L - Mostrar alterações de camada,
- Ctrl+A - Mostrar alterações de camada,
- Ctrl+/ - Filtrar arquivos,
- Ctrl+C - Sair.
No exemplo acima, usei a permissão "sudo", porque minhas imagens Docker estão armazenadas no diretório /var/lib/docker/. Se você os tiver em seu diretório $HOME ou em qualquer lugar que não pertença ao usuário "root", você não precisa usar "sudo".
Você também pode construir uma imagem Docker e fazer uma análise imediata com um comando:
dive build -t <some-tag>
Para obter mais detalhes, consulte a página GitHub do projeto fornecida abaixo.
Recurso:
- Mergulhe na página do GitHub