Salvar uma imagem e compactá-la usando gzip
Nesta etapa final, você aprenderá como salvar uma imagem Docker em um arquivo tar e comprimi-la usando gzip simultaneamente. Esta é uma prática comum para reduzir o tamanho do arquivo da imagem salva, tornando-a mais fácil de armazenar e transferir.
O próprio comando docker save não possui uma flag de compressão integrada. No entanto, você pode obter a compressão canalizando a saída de docker save para um utilitário de compressão como gzip.
Vamos salvar a imagem alpine (que você deve ter puxado em uma etapa anterior) e comprimi-la usando gzip. A saída será redirecionada para um arquivo com a extensão .tar.gz.
A sintaxe envolve o encadeamento da saída: docker save <image_name> | gzip > <output_file.tar.gz>.
Vamos salvar a imagem alpine em um arquivo tar gzipped chamado alpine.tar.gz no seu diretório ~/project.
docker save alpine | gzip > alpine.tar.gz
Este comando salva a imagem alpine na saída padrão, canaliza essa saída para o comando gzip para compressão e, em seguida, redireciona a saída comprimida para o arquivo alpine.tar.gz.
Após executar este comando, um arquivo chamado alpine.tar.gz será criado no seu diretório ~/project.
Você pode verificar se o arquivo foi criado e verificar seu tamanho usando o comando ls -lh. Compare seu tamanho com o tamanho da imagem alpine descomprimida (que faz parte de images.tar ou seria se você a salvasse individualmente) para ver o efeito da compressão.
ls -lh alpine.tar.gz
Você deve ver uma saída semelhante a esta:
-rw-r--r-- 1 labex labex ... alpine.tar.gz
Para confirmar que o arquivo é um arquivo tar gzipped, você pode usar o comando file.
file alpine.tar.gz
A saída deve indicar que é um arquivo de dados compactado gzip.
alpine.tar.gz: gzip compressed data, ...
Você também pode listar o conteúdo do arquivo compactado usando tar -tfz. A flag z diz ao tar para descomprimir o arquivo usando gzip antes de listar o conteúdo.
tar -tfz alpine.tar.gz
Você deve ver o conteúdo da imagem alpine dentro do arquivo, semelhante a quando você listou o conteúdo de images.tar.
...
alpine/
alpine/manifest.json
...
Este método é eficiente para salvar e comprimir imagens em um único comando.