Header Ads

Como as tags do Docker funcionam?

As imagens do Docker usam registros para controle de versão, como o Docker Hub, que hospeda imagens públicas para qualquer um baixar e executar. No entanto, antes de carregar uma imagem no Hub ou em qualquer registro, você deve fornecer as tags apropriadas.

Contêiner vs. imagem

É importante entender a diferença entre contêineres e imagens antes de falar sobre tags, pois eles costumam ser usados ​​de maneira bastante intercambiável e isso pode levar a alguma confusão.

Uma imagem do Docker é o que você obtém ao executar o docker build com seu Dockerfile. É composto de várias camadas para otimizar o uso de disco e memória. Uma imagem é somente leitura.

Um contêiner do Docker é uma instância de uma imagem na qual os processos realmente são executados. É um sistema de arquivos de leitura / gravação; portanto, essencialmente, uma imagem é um modelo que você usa para criar vários contêineres. Ele contém o código base e tudo o que o aplicativo precisa para começar. Os contêineres são inicializados com a imagem quando criados, e ele pode modificar o sistema de arquivos como desejar.

Imagens são o que você envia ao registro de contêiner. Em seus servidores, você pode fazer referência à imagem no registro para fazer o download do contêiner.

Tags Rastrear versões de imagens construídas

Sempre que você executa uma construção de janela de encaixe, cria uma nova imagem com um ID exclusivo, como “ 38054d5e8a27. ”

Tags são simplesmente rótulos que fornecem uma maneira melhor de gerenciar o controle de versão e os lançamentos. Eles são como etiquetas que você pode atribuir a qualquer construção concluída. Em vez de fazer referência ao ID da compilação, você pode marcar uma imagem com um rótulo no formato major. minor. patch e facilmente saber qual imagem é qual ou qual formato sua organização prefere.

A marcação é bem fácil. Você pode usar a tag docker para fazer isso após o fato, mas é muito mais fácil fazer isso quando você cria usando o sinalizador -t:

Janela de encaixe

 build -t repository / image: tag. 

Isso cria a imagem do Dockerfile e a marca com a marca que você especificou. A tag é a parte [: TAG], após o ponto-e-vírgula, mesmo que o Docker dirá "Repositório / imagem com etiqueta com sucesso: tag. Tag". ” A parte do repositório / imagem é apenas o nome da imagem e, se você planeja enviar para um repositório, deve marcá-la no formato repository / image: tag.

Para o Docker Hub, o nome do repositório é apenas o seu nome de usuário, portanto, o comando seria semelhante a:

Janela de encaixe

 build -t anthonyheddings / nginx: tag. 

Se você não especificar uma tag específica, o Docker a marcará automaticamente como a mais recente.

Outra prática comum é marcar a imagem com o ID de confirmação do git, vinculando o controle de versão às imagens criadas. Você pode automatizar isso facilmente com git rev-parse:

Janela de encaixe

 build -t vicerust / core: $ (git rev-parse --verify HEAD). 

Depois que uma imagem é marcada, você pode enviá-la ao registro com o docker push, passando o nome do repositório / imagem:

repositório de encaixe docker

 / imagem 

A partir daí, você poderá acessá-lo na janela de encaixe normalmente. Se você não especificar uma tag, a execução nas janelas de encaixe usa automaticamente as últimas.

As mais recentes nem sempre significam & as mais recentes ”

A tag "Latest" é um pouco confusa. Apesar de como o nome soa, ele nem sempre aponta para o lançamento mais recente. É simplesmente uma tag especial que é atribuída automaticamente sempre que você não especifica uma tag. Isso tem o efeito de evitar completamente as tags e apenas pressionar um “ mais recente ” versão.

Você pode usar a tag mais recente apenas não especificando uma tag específica:

Janela de encaixe

 build -t repository / image. 

Ou etiquetando manualmente uma imagem como mais recente:

Janela de encaixe

 build -t repository / image: latest. 

que funciona bem se você estiver usando apenas a tag mais recente. Mas se você também quiser usar as tags de identificação de versão, será necessário marcar duas vezes suas imagens toda vez, o que pode levar à mais recente versão. nem sempre significa a última imagem criada. É uma boa prática evitar o uso mais recente de outras tags para evitar essa confusão. Sempre faça a versão de suas tags, sempre, com números de correção manuais ou com IDs de confirmação do git.

Via: How to Geek

Nenhum comentário