Como adicionar, substituir e remover tags de imagem do Docker – CloudSavvy IT
![Como adicionar, substituir e remover tags de imagem do Docker – CloudSavvy IT Como adicionar, substituir e remover tags de imagem do Docker – CloudSavvy IT](https://www.cloudsavvyit.com/p/uploads/2021/09/993634a1.png)
[ad_1]
Usos do Docker Tag para identificar versões distintas de uma imagem. Em comum com a comunidade de contêineres mais ampla, as tags devem ser usadas para marcar cada versão para que os usuários possam selecionar entre diferentes versões.
As tags também podem ser usadas para descrever outras características de uma imagem, como a identidade de uma dependência de chave quando várias opções são oferecidas. Não é incomum encontrar fornecedores de imagens oferecendo esse tipo de tag:
example-image:1.1.0-apache example-image:1.1.0-nginx example-image:1.2.0-apache example-image:1.2.0-nginx
Esse esquema de tags permite que você escolha entre diferentes versões da imagem enquanto oferece Apache ou NGINX como base da imagem.
Você pode adicionar suas próprias tags a qualquer imagem que criar ou extrair. As tags locais oferecem uma maneira de identificar rapidamente imagens específicas no futuro. Neste guia, mostraremos como gerenciar tags de imagem com a CLI do Docker.
As tags são adicionadas às imagens usando o docker tag
comando. As tags também podem ser anexadas ao criar uma imagem com docker construct
passando o -t
bandeira.
O tag
comando recebe dois argumentos: um existir tag identificando uma imagem e uma nova tag “destino” para atribuir a essa imagem:
# docker tag <supply picture> <new tag> docker tag example-image:1.1.0 example-image:1.1.0-apache
Ambas as tags agora se referem à mesma imagem para que você possa começar a usá-las de forma intercambiável. No entanto, correr docker pull example-image:1.1.0
não afetaria o 1.1.0-apache
marcação. A referência de imagem de uma tag não é atualizada, a menos que você a tenha incluído manualmente em um comando da CLI.
A única exceção a esta regra é o muitas vezes incompreendido newest
marcação. Quando você puxa uma imagem “nua” sem uma tag, como docker pull example-image
o Docker united states implicitamente newest
.
Imagens não marcadas
O docker tag
O comando aceitará IDs de imagem como referência de origem em vez de uma tag existente. Se você terminar com uma imagem não marcada, execute o docker photographs
comando para encontrar seu ID, então use docker tag
para atribuir uma nova tag:
docker tag 0e3e06b48755 example-image:newest
É possível ter imagens não marcadas quando você puxa uma nova versão de uma tag:
# already has example-image:newest docker pull example-image:newest
O alvo unique do example-image:newest
tag ainda existe em seu sistema, mas agora não está marcado. O pull baixou os novos dados de imagem e reatribuiu o newest
tag para referenciá-lo.
Uma situação em que você precisa adicionar uma nova tag é quando você está enviando imagens entre registros. A URL do registro faz parte da tag. Adicione uma nova tag que inclua o registro para o qual você deseja enviar e use docker push
para carregá-lo:
docker tag example-image:newest registry.instance.com/example-image:newest docker push registry.instance.com/example-image:newest
O envio de uma tag simples sem um componente de URL enviará os dados da imagem para o Docker Hub. Conseqüentemente, você deve adicionar uma tag com o nome do host do seu servidor e o número da porta opcional quando estiver interagindo com um registro privado.
O docker tag
O comando substituirá silenciosamente a referência de uma tag se uma tag existente for usada como destino:
docker tag first-image:newest demo docker tag second-image:newest demo
O demo
tag agora se refere a second-image
e não pode ser usado para referenciar first-image
. Você ainda pode interagir com a primeira imagem usando sua tag restante, first-image:newest
. A segunda imagem pode ser selecionada com second-image:newest
ou demo
.
As tags de imagem geralmente devem ser tratadas como imutáveis. É melhor evitar essa técnica de modificar a referência de uma tag, exceto para tags que você está usando para fins organizacionais locais. Não é uma boa ideia enviar uma tag atualizada para um registro público, pois os usuários que dependem dela receberão uma imagem modificada inesperadamente na próxima vez que fizerem pull. Empurre outra nova tag em vez disso nesta situação.
# Construct and push v1 docker construct -t example-image:v1 . docker push example-image:v1 # v1 now refers to other picture information # That is high quality for native use (tags within the # registry are impartial of your native tags). docker construct -t example-image:v1 . # Do not do that - now the tag within the registry # has been modified too, which might negatively # affect present customers. docker push example-image:v1
Você pode remover tags de imagens que você puxou para sua máquina. Use o docker rmi
comando, especificando a tag que você deseja excluir:
docker rmi example-image:1.1.0-apache
Quaisquer outras tags que façam referência aos mesmos dados de imagem permanecerão utilizáveis. Caso a imagem referenciada não seja marcada, a CLI do Docker exclui completamente os dados da imagem. Isso garante que você não acabe com imagens não marcadas como resultado de instruções de remoção explícitas.
A remoção de uma tag só tem efeito native, mesmo se você estiver fazendo referência a uma tag que inclua um URL de registro:
# Does no longer take away the tag from the registry! docker rmi registry.instance.com/example-image:newest
Atualmente, você não pode excluir uma tag específica de um registro. Isso está de acordo com o princípio da imutabilidade da tag: depois de enviar o conteúdo, ele pode ser usado como uma dependência pelos consumidores downstream, de modo que o API de registro omite um ponto de extremidade de exclusão de tag. No entanto, muitas implementações de registro de terceiros fornecem um mecanismo equivalente; vale a pena verificar a documentação se você tiver um motivo convincente para excluir uma tag enviada.
Resumo
As tags são usadas para rotular as imagens do Docker com as principais informações de distinção, como a versão de compilação e as dependências incluídas. As tags são muito mais simples de trabalhar do que os IDs SHA de imagem que você pode visualizar docker photographs
. As tags também são o foremost mecanismo de interação com imagens em registros remotos.
Você pode gerenciar suas próprias tags em sua máquina native, mas as alterações não afetarão o conteúdo do registro. Você também deve considerar que, embora as tags está mutável, essa propriedade não deve ser abusada e deve ser evitada ao enviar tags para um registro. Isso ajuda a proteger seus usuários contra alterações indesejadas.
[ad_2]
Fonte da Notícia