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!
Deixar um comentário