LABEL

A instrução LABEL em um Dockerfile é usada para adicionar metadados à imagem Docker na forma de pares chave-valor. Esses metadados podem incluir informações sobre o autor da imagem, a versão da aplicação, descrições, e outros dados relevantes. LABEL é útil para organizar, identificar e gerenciar imagens Docker, especialmente em ambientes complexos ou com várias imagens.

Sintaxe Básica

LABEL chave1=valor1 chave2=valor2 ...

Exemplos de Uso

Adicionar Metadados Simples

FROM nginx:alpine
LABEL maintainer="nome@exemplo.com"
LABEL version="1.0"
LABEL description="Imagem Docker para um servidor web NGINX"

Neste exemplo:

  • maintainer especifica o autor ou mantenedor da imagem.

  • version define a versão da imagem ou da aplicação contida nela.

  • description fornece uma breve descrição da imagem.

Adicionar Vários Metadados em uma Única Instrução

Você pode definir várias etiquetas em uma única instrução LABEL:

FROM ubuntu:20.04
LABEL maintainer="nome@exemplo.com" \
      version="1.0" \
      description="Imagem de base para uma aplicação Python"

Aqui, as chaves e valores são separados por espaço e a linha é dividida usando a barra invertida (\) para melhor legibilidade.

Usos Comuns de LABEL

  • Informações do Mantenedor: Usar LABEL para incluir o e-mail ou nome do mantenedor da imagem facilita a comunicação e a rastreabilidade.

  • Versão da Imagem: Etiquetar a versão da imagem ou da aplicação ajuda a gerenciar diferentes versões em um registro de contêineres.

  • Licenciamento: Incluir informações de licenciamento com LABEL pode ser útil para imagens distribuídas publicamente.

  • Documentação e Links: Você pode adicionar links para a documentação, repositórios Git, ou sites relacionados à aplicação contida na imagem.

Exemplos Avançados

Etiquetar com Informação de Build e Git

Neste exemplo:

  • build_date armazena a data de construção da imagem.

  • git_commit armazena o hash da commit Git associado à versão do código que foi usada para construir a imagem.

Convenções e Boas Práticas

  • Consistência de Nomenclatura: Use uma convenção de nomenclatura consistente para as chaves, como usar nomes em minúsculas e separar palavras com underscores (_) ou hifens (-).

  • Chaves Prefixadas: Em ambientes corporativos ou para imagens distribuídas publicamente, é comum prefixar as chaves com o nome do domínio da organização para evitar colisões com outras chaves.

  • Evite Informações Sensíveis: Não armazene informações sensíveis como senhas, chaves de API ou segredos em labels, pois esses dados podem ser facilmente acessados ao inspecionar a imagem.

Como Verificar Labels em uma Imagem

Após construir a imagem, você pode visualizar os labels usando o comando docker inspect:

Este comando exibirá todas as labels associadas à imagem.

Resumo

  • LABEL permite adicionar metadados na forma de pares chave-valor à imagem Docker.

  • É útil para descrever a imagem, fornecer informações sobre o autor, versionamento, links para documentação, e muito mais.

  • Boas práticas incluem usar uma nomenclatura consistente, evitar informações sensíveis, e prefixar chaves em ambientes corporativos.

Laboratório

Não entra como uma camada no filesystem da imagem. Ela é um metadado.

A LABEL não aparece no processo de construção da imagem.

Vários LABEL

Last updated