Usando containers Docker sem internet com docker load e docker save

Neste post vamos abordar a utilização containers Docker em um ambiente sem acesso à internet, usando os comandos docker load e docker save. Esses comandos permitem exportar e importar imagens Docker como arquivos tar, que podem ser transferidos por meio de dispositivos de armazenamento externos, como pendrives.

Salvando imagens de containers docker com o comando docker save

Primeiramente será necessário exportar a imagem Docker que você quer usar, em um computador onde você precisa ter a imagem em seu repositório local. Ou seja: num computador onde a imagem já foi baixada através da internet ou no computador onde a imagem foi construída a partir do Dockerfile.

O primeiro passo é exportar a imagem Docker que você quer usar em um arquivo tar. Por exemplo, se você quiser exportar a imagem ubuntu:20.04, você pode usar o seguinte comando:

docker save -o ubuntu.tar ubuntu:20.04

Isso vai criar um arquivo chamado ubuntu.tar no diretório atual, contendo a imagem ubuntu:20.04 e todas as suas camadas. Você pode verificar o tamanho do arquivo com o comando ls -lh ubuntu.tar. Dependendo da imagem, o arquivo pode ser bastante grande, então certifique-se de ter espaço suficiente no dispositivo de armazenamento que você vai usar para transferi-lo.

Comprimindo um arquivo .tar com o gzip usando compressão máxima

Caso a imagem seja muito grande, há também a opção de comprimir com o gzip utilizando a compressão máxima e sem perda de dados do arquivo, para isso utilize o comando a seguir:

gzip -9 ubuntu.tar

Será gerado o arquivo ubuntu.tar.gz que ocupará bem menos espaço em disco do que o arquivo original.

Descompactando uma arquivo gzip

Para descompactar o arquivo gzip no computador de destino onde a imagem será carregada basta executar o comando:

gunzip ubuntu.tar.gz

Importando a imagem de um container docker salva em disco com o docker load

O passo seguinte é transferir o arquivo contemdo a imagem salva para o computador de destino. Caso a imagem tenha sido comprimida, lembre de realizar a descompressão utilizando o gunzip.

De posse do arquivo original da imagem em formato .tar você pode importar a imagem Docker do arquivo tar para o repositório local do ambiente sem internet. Para fazê-lo vamos utilizar o comando docker load:

docker load -i /media/pendrive/ubuntu.tar

Isso vai carregar a imagem ubuntu:20.04 e todas as suas camadas para o repositório local do ambiente sem internet.

Listando as imagens instaladas no repositório local do docker

Você pode verificar se a imagem foi importada com sucesso com o comando docker image. Para isso execute:

docker image ls
Renato Monteiro Batista
Renato Monteiro Batista
Engenheiro de Computação
https://renato.ovh
    
Renato Monteiro Batista

resultados encontrados ""

    Nenhum resultado encontrado ""