Gerenciar imagens Docker de forma eficiente é crucial para um desenvolvimento e implantação otimizados. Este guia concentra-se na prática essencial de marcação de imagens Docker, cobrindo comandos Docker independentes e integração com o Docker Compose.
Sumário
Marcação com docker build
O comando docker build
oferece a maneira mais direta de marcar uma imagem durante sua criação. O sinalizador -t
especifica a marca, que segue o formato <repositório>:<marca>
. O repositório geralmente inclui seu nome de usuário do Docker Hub ou o endereço de um registro privado, enquanto a marca normalmente representa uma versão (por exemplo, 1.0
, latest
, v1.2.3
), um nome de branch ou um identificador descritivo.
Supondo que você tenha um Dockerfile
no seu diretório atual, crie e marque uma imagem usando:
docker build -t meu-usuario/minha-imagem:1.0 .
Este comando:
docker build
: Inicia o processo de criação da imagem.-t meu-usuario/minha-imagem:1.0
: Especifica a marca. Substituameu-usuario/minha-imagem
e1.0
pelos seus valores desejados..
: Indica o contexto de criação (o diretório atual).
Verifique a marca com:
docker images
Envie a imagem marcada para um registro (por exemplo, Docker Hub):
docker push meu-usuario/minha-imagem:1.0
Você também pode marcar uma imagem existente usando seu ID (obtido de docker images
):
docker tag <image_id> meu-usuario/minha-imagem:1.0
Marcação com Docker Compose
O Docker Compose simplifica o gerenciamento de aplicativos multicontêiner. Você define marcas de imagem dentro do seu arquivo docker-compose.yml
, otimizando o processo de criação e implantação.
Especificando uma imagem existente:
version: "3.9"
services:
web:
image: meu-usuario/minha-imagem:1.0
ports:
- "80:80"
Isso usa a imagem meu-usuario/minha-imagem:1.0
. docker-compose up -d
fará o download desta imagem (se não estiver local) e iniciará o contêiner. Certifique-se de que a imagem exista localmente ou em seu registro antes de executar este comando.
Criando e marcando dentro do Docker Compose:
version: "3.9"
services:
web:
build:
context: ./web-app
dockerfile: Dockerfile
ports:
- "80:80"
Isso cria a imagem a partir do Dockerfile
em ./web-app
. Você pode opcionalmente especificar uma marca na seção build
ou marcá-la posteriormente usando os métodos descritos acima.
Melhores Práticas para Marcação
Empregue estratégias de marcação claras e consistentes. Use versionamento semântico (por exemplo, 1.0.0
, 1.0.1
) para rastrear alterações e simplificar reversões. Considere usar marcas que reflitam o ambiente (por exemplo, produção
, staging
, dev
) além dos números de versão. Evite marcas genéricas como latest
para implantações de produção para evitar implantações acidentais de versões indesejadas.