← Docker: executar e diagnosticar contentores
02 / 12 · 40 MIN

Build e distribuição

Constrói imagens identificáveis com contexto e dependências controlados.

Conceito e mecanismo

A build combina uma definição, contexto e dependências. O contexto determina quais os ficheiros disponíveis para COPY; o caminho do Dockerfile não alarga automaticamente esse conjunto. Revê .dockerignore para retirar ficheiros que não devem chegar ao builder, incluindo material sensível e saídas locais desnecessárias. Uma imagem é composta por camadas e o seu conteúdo não se modifica quando uma etiqueta é reutilizada. A etiqueta pode passar a apontar para outra imagem. Para relacionar homologação e produção, regista a identidade efetivamente avaliada e a plataforma esperada. Um digest ajuda a fixar conteúdo, mas não demonstra por si só qualidade, autorização ou compatibilidade funcional.

Aplicação guiada

Num exemplo original, o builder ocupa 940 MB e o executável necessário ocupa 38 MB. Uma build multi-stage permite copiar o resultado para uma imagem de execução adequada, sem conservar compiladores apenas por conveniência. Confirma bibliotecas, certificados e utilizador necessários: um binário dinâmico pode falhar numa imagem mínima sem as suas dependências. Se a compilação precisa de acesso a um repositório privado, usa o mecanismo de secret mount do BuildKit com âmbito limitado. ARG ou ENV não são uma forma apropriada de transportar segredos de build. Mesmo um mount temporário pode ser lido pelo comando autorizado; esse comando não deve imprimir nem copiar o segredo para a saída.

NA PRÁTICA

A etiqueta aprovada aponta agora para outro digest; a aprovação anterior não identifica a nova imagem.

Armadilhas comuns

Etiqueta como identidade imutável; imagem pequena como completa; secret mount como proteção contra o próprio comando.

Tópicos relacionados: Processos e imagens · Rede e acesso · Dados e mounts

Leva esta ideia contigo

Promove o conteúdo avaliado com os recursos necessários para o executar.

Criar conta

Referência: Selective artifacts across build stages · Docker Engine Linux containers, BuildKit and Compose; official documentation consulted 2026-09-30; version-dependent behavior explicitly scoped

Docker® é uma marca registada de Docker, Inc. A dr.pt é uma plataforma de preparação independente e não está afiliada, associada, patrocinada, autorizada nem aprovada por Docker. Os conteúdos e as perguntas são originais, não são perguntas oficiais de exame, e concluir os nossos testes não atribui nem garante qualquer certificação. Os nomes são usados apenas para identificar o tema. Todas as outras marcas pertencem aos respetivos titulares.