Também é possível utilizar a imagem intermediária para outra imagem que, inclusive, pode ser uma imagem intermediária.
Dockerfile:
# IMAGEM INTERMEDIARIA 1# imagem base nomeada como buildFROM golang:1.18.1 AS buildWORKDIR /buildCOPY . .# compilacao da aplicacao em binarioRUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o main .# IMAGEM INTERMEDIARIA 2 A PARTIR DA IMAGEM INTERMEDIARIA 1# imagem intermediaria package_build# o binario da aplicacao compilada foi trazida para essa imagemFROM build AS package_buildWORKDIR /pkg# copia arquivo de imagem remotaCOPY --from=marcelodpbarbieri/pacote-bin:latest /pkg/pacote.bin .# IMAGEM FINAL# imagem base nomeada como appFROM alpine:3.20.2 AS appWORKDIR /app# copia do pacote.bin da imagem intermediaria (package_build)COPY --from=package_build /pkg/pacote.bin .# copia do binario da imagem intermediaria (build) para a imagem finalCOPY --from=package_build /build/main .CMD ["./main"]