Como etiquetar uma imagem Docker com um nome personalizado

DockerBeginner
Pratique Agora

Introdução

Docker é uma poderosa plataforma de contentores que revolucionou a forma como os desenvolvedores constroem, empacotam e implantam aplicações. Um aspecto crucial do trabalho com Docker é a capacidade de etiquetar adequadamente as suas imagens Docker com nomes personalizados. Este tutorial irá guiá-lo através do processo de atribuição de uma etiqueta personalizada a uma imagem Docker, bem como fornecer as melhores práticas para uma etiquetagem eficaz de imagens.

Introdução à Etiquetagem de Imagens Docker

Imagens Docker são os blocos de construção de aplicações containerizadas. Cada imagem Docker representa uma versão específica de uma aplicação, incluindo o código da aplicação, as dependências e o ambiente de execução. A etiquetagem de imagens Docker é um aspecto crucial da gestão e controlo de versões dos componentes da sua aplicação.

O que é a Etiquetagem de Imagens Docker?

A etiquetagem de imagens Docker é o processo de atribuição de um identificador único, ou "etiqueta", a uma versão específica de uma imagem Docker. Esta etiqueta permite-lhe diferenciar entre diferentes versões da mesma imagem e referenciar facilmente a versão específica que pretende utilizar.

Importância da Etiquetagem de Imagens Docker

A etiquetagem de imagens Docker é importante por várias razões:

  1. Controlo de Versões: A etiquetagem permite-lhe controlar diferentes versões da sua aplicação, facilitando a gestão e a implementação da versão correta.
  2. Reversões: Se surgir um problema com uma versão específica da sua aplicação, pode facilmente reverter para uma versão anterior, conhecida como boa, referenciando a etiqueta apropriada.
  3. Colaboração: Ao trabalhar em equipa ou partilhar a sua aplicação com outros, a etiquetagem torna claro qual a versão da imagem que está a utilizar, facilitando a colaboração e a consistência.
  4. Automação de Implementação: A etiquetagem permite automatizar o processo de implementação referenciando versões específicas de imagens, garantindo que a versão correta da sua aplicação é implementada.

Convenções de Etiquetagem de Imagens Docker

Existem várias convenções comuns para a etiquetagem de imagens Docker:

  1. Semântica de Versões: Utilizar um esquema de numeração de versões como major.minor.patch (ex.: 1.2.3) para indicar o nível de alterações na imagem.
  2. Etiquetagem Baseada em Data: Utilizar a data da construção da imagem como etiqueta (ex.: 2023-04-15).
  3. Ramo ou Commit Git: Utilizar o nome do ramo Git ou o hash do commit como etiqueta.
  4. Etiquetagem Baseada no Ambiente: Utilizar etiquetas para indicar o ambiente para o qual a imagem se destina, como dev, staging ou prod.

A escolha da convenção de etiquetagem depende das suas necessidades específicas e dos requisitos da sua aplicação e fluxo de trabalho de desenvolvimento.

Etiquetagem de uma Imagem Docker

Construindo uma Imagem Docker

Antes de etiquetar uma imagem Docker, precisa de a construir. Pode fazer isto usando o comando docker build. Aqui está um exemplo:

docker build -t myapp:v1 .

Este comando construirá uma imagem Docker com o nome myapp e a etiqueta v1 usando o ficheiro Dockerfile no diretório atual.

Etiquetagem de uma Imagem Docker Existente

Para etiquetar uma imagem Docker existente, pode usar o comando docker tag. A sintaxe é a seguinte:

docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]

Aqui está um exemplo:

docker tag myapp:v1 myapp:latest

Isto criará uma nova etiqueta, latest, para a imagem existente myapp:v1.

Empurrar uma Imagem Docker Etiquetada para um Registário

Depois de etiquetar a sua imagem Docker, pode empurrá-la para um registário (por exemplo, Docker Hub, AWS ECR ou um registário privado) usando o comando docker push. Por exemplo:

docker push myapp:v1
docker push myapp:latest

Isto empurrará as imagens myapp:v1 e myapp:latest para o registário.

Extrair uma Imagem Docker Etiquetada

Para extrair uma imagem Docker etiquetada específica, pode usar o comando docker pull. Por exemplo:

docker pull myapp:v1
docker pull myapp:latest

Isto extrairá as imagens myapp:v1 e myapp:latest do registário.

Melhores Práticas para Etiquetagem de Imagens

Utilize Versão Semântica

Uma das melhores práticas para a etiquetagem de imagens Docker é utilizar a versão semântica. Isto significa utilizar um número de versão no formato major.minor.patch, onde:

  • As alterações na versão major indicam alterações significativas, incompatíveis com versões anteriores.
  • As alterações na versão minor indicam novos recursos ou funcionalidades adicionados de forma compatível com versões anteriores.
  • As alterações na versão patch indicam correções de bugs ou outras alterações menores.

A utilização da versão semântica ajuda você e sua equipa a compreender o impacto das alterações nas suas imagens Docker.

Etiquete com Nomes Significativos

Escolha etiquetas significativas e descritivas para as suas imagens Docker. Isto facilita a compreensão do propósito e conteúdo de cada imagem à primeira vista. Por exemplo, em vez de utilizar etiquetas genéricas como latest ou v1, considere utilizar etiquetas mais descritivas como app-v2.3.1 ou db-mysql-5.7.32.

Evite Utilizar a Etiqueta latest

Embora a etiqueta latest seja uma forma conveniente de referenciar a versão mais recente de uma imagem, também pode ser problemática. A etiqueta latest pode mudar ao longo do tempo, dificultando garantir que está a utilizar a versão correta de uma imagem. Em vez disso, utilize etiquetas específicas e versionadas para garantir que as suas implementações são consistentes e reproduzíveis.

Documente as Suas Convenções de Etiquetagem

Documente claramente as suas convenções de etiquetagem de imagens Docker e partilhe-as com a sua equipa. Isto ajuda a garantir que todos seguem as mesmas práticas, tornando mais fácil gerir e manter as suas imagens Docker ao longo do tempo.

Automatize a Etiquetagem de Imagens

Automatize o processo de etiquetagem de imagens Docker, por exemplo, integrando-o no seu pipeline de integração contínua (CI). Isto ajuda a garantir que as imagens são etiquetadas de forma consistente e reduz o risco de erros humanos.

Limpe Regularmente as Imagens Não Utilizadas

Com o tempo, pode acumular um grande número de imagens Docker, tanto etiquetadas como não etiquetadas. Limpe regularmente estas imagens não utilizadas para manter o seu ambiente Docker limpo e eficiente.

docker image prune -a

Seguindo estas melhores práticas, pode gerir e manter eficazmente as suas imagens Docker, garantindo que as suas aplicações containerizadas são fiáveis, reproduzíveis e fáceis de gerir.

Resumo

Neste tutorial, aprendeu a etiquetar uma imagem Docker com um nome personalizado, garantindo uma melhor organização e gestão do seu ecossistema Docker. Seguindo as melhores práticas para a etiquetagem de imagens, pode melhorar a rastreabilidade, a versão e a eficiência geral das suas aplicações baseadas em Docker. Dominar a etiquetagem de imagens Docker é uma habilidade crucial para qualquer desenvolvedor ou profissional DevOps que trabalhe com ambientes containerizados.