docker image build --target
A documentação do comando docker build --target descreve como direcionar a construção de uma imagem para um estágio específico em um Dockerfile que utiliza multi-stage builds.
Uso Básico
No Dockerfile, você pode definir múltiplos estágios (ou targets), cada um com um nome específico usando a instrução AS. O --target permite que você construa a imagem apenas até um estágio específico, ignorando os estágios subsequentes.
Exemplo de Dockerfile com Multi-stage Builds
# Estágio de build
FROM golang:1.18.1 AS build
WORKDIR /build
COPY . .
RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o main .
# Estágio final
FROM alpine:3.20.2 AS app
WORKDIR /app
COPY --from=build /build/main .
CMD ["./main"]Comandos de Construção Usando --target
Para construir a imagem até o estágio
build:docker build --target build -t myapp:build .Este comando para a construção após o estágio
build, gerando uma imagem que pode ser usada para debug ou testes intermediários.Para construir a imagem até o estágio final (
app):docker build --target app -t myapp:latest .Isso constrói a imagem completa, incluindo todos os estágios anteriores ao estágio
app.
Vantagens
Eficiência: Reduz o tempo de construção e uso de recursos ao construir apenas até o estágio necessário.
Flexibilidade: Permite a criação de diferentes versões da imagem para diferentes propósitos (por exemplo, produção, desenvolvimento, testes) a partir de um único Dockerfile.
Comando Completo
Opções Relevantes
--target <stage>: Especifica o estágio até onde a construção deve ir. Estágios após esse ponto serão ignorados.
Referências
Para mais detalhes, você pode consultar a documentação oficial do Docker aqui.
Last updated