Docker é um conjunto de produtos de plataforma como serviço (PaaS) escrito em Go, amplamente utilizado em datacenters, utilizando-se de virtualização de nível de sistema operacional para entregar softwares em forma pacotes chamados contêineres. Estes contêineres são isolados uns dos outros e agrupam seus próprios sistemas, bibliotecas e arquivos de configuração.

Verifica-se normalmente que em uma única máquina virtual, podem existir dezenas, centenas ou até milhares de contêineres, imagine agora ter que administrar, gerenciar e atualizar cada um destes contêineres toda vez que sai uma versão nova do software, para facilitar este trabalho existem diversos sistemas de orquestração de contêineres, dentre os mais conhecidos e utilizados estão o Docker Swarm e o Kubernetes.

Mas para ambientes menores que não dispõe de qualquer tipo de sistemas de orquestração, o administrador precisa constantemente atualizar as imagens base manter os contêineres sempre atualizados.

Para listar as imagens existentes no sistema operacional, o administrador deverá executar o seguinte comando:

# docker images
REPOSITORY             TAG       IMAGE ID       CREATED       SIZE
bitnami/dokuwiki       latest    890a57d7098a   4 days ago    360MB
tiangolo/nginx-rtmp    latest    8a82515502fe   6 days ago    851MB
phpmyadmin             latest    e0932b3f75d5   11 days ago   511MB
nginx                  latest    1403e55ab369   11 days ago   142MB
codercom/code-server   latest    d2752e837707   2 weeks ago   739MB
certbot/certbot        latest    d1257949a320   2 weeks ago   108MB
mysql                  latest    7484689f290f   3 weeks ago   538MB
mediagis/nominatim     4.2       f672c8b3de38   4 weeks ago   1.12GB
php                    7.4-fpm   38f2b691dcb8   6 weeks ago   443MB

O comando irá listar o repositório, TAG, ID da Imagem, Data de criação e tamanho, conforme imagem acima.

Agora vamos imaginar que rotineiramente, você precise verificar se existe alguma atualização para as imagens, terá que executar o comando abaixo para cada uma das imagens:

# docker pull REPOSITORY

Onde o REPOSITORY deverá ser substituído por algum dos repositórios acima relacionados, por exemplo:

# docker pull nginx

Agora imagine que você tenha que verificar a atualização de centenas de imagens, com isso terá um grande trabalho.

Realizando buscas na Internet e participação em fóruns de discussão, encontrei o comando abaixo, disponibilizado pelo site GoogLinux , que torna mais simples este trabalho, possibilitando a atualização de todas as imagens com uma única linha.

# docker images | grep -v REPOSITORY| awk '{print $1}'| xargs -L1 docker pull

Compartilhe conhecimento e seja feliz!