Skip to content
Latchkey

O Que É uma Image Tag? Nomeando e Versionando Imagens

Uma image tag é um rótulo legível em um repositório - myapp:1.4 - que aponta para uma imagem específica, mas pode ser movido para apontar para outra depois.

Tags são como os humanos se referem às imagens. A referência completa combina repositório e tag, como ghcr.io/acme/web:1.4. Como tags são apenas ponteiros móveis, sua estratégia de tagging determina discretamente quão previsíveis e rastreáveis são seus deploys.

Anatomia de uma referência

Uma referência é [registry/]repository:tag. Se você omite a tag, o Docker assume latest. A tag é um rótulo no repositório, não parte do conteúdo da imagem - por isso ela pode ser reapontada.

O problema com latest

latest é apenas uma tag convencional, não "a mais nova" - ela aponta para onde foi feito o último push. Depender dela torna os deploys não reproduzíveis, porque os bits por trás de latest podem mudar sem aviso.

Estratégias de tagging

  • Versões semânticas (1.4.0) para releases.
  • Tags de Git SHA (sha-abc123) para rastreabilidade exata a um commit.
  • Tags de ambiente (staging, prod) como ponteiros móveis para uma release.

Tags vs digests

Uma tag é conveniente mas mutável; um digest é imutável. Um padrão comum é marcar com tag para humanos e fazer deploy por digest para garantias.

Tagging em CI

Pipelines geralmente marcam cada build com uma versão e o commit SHA, depois fazem push. A tag de SHA amarra uma imagem em execução ao código exato, o que é inestimável ao debugar um deploy.

Principais conclusões

  • Uma tag é um rótulo móvel e legível por humanos em um repositório.
  • latest significa "último push", não "mais novo" - evite depender dela.
  • Marque releases com versões e commit SHAs para rastreabilidade.

Guias relacionados