Sobes.tech
Junior — Middle

Objasnite koncept višestruke gradnje u Dockeru i njegove prednosti.

sobes.tech АИ

Одговор од АИ

Мултистепна (мултифаза) изградња у Docker-у омогућава коришћење више фаза изградње у једном Dockerfile-у. То значи да прво можете изградити апликацију у контејнеру са потребним алаткама и зависностима, а затим копирати само потребне артефакте у финални образац, који ће бити минималан и лаган.

Предности:

  • Смањење величине финалног образаца, јер се не укључују алати за изградњу и привремене датотеке.
  • Повећање безбедности, јер у финалном образцу нема непотребних компоненти.
  • Лакше одржавање и читљивост Dockerfile-а, јер су сви кораци описани на једном месту.

Пример за Go:

# Фаза изградње
FROM golang:1.20 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp

# Финални образац
FROM alpine:latest
WORKDIR /app
COPY --from=builder /app/myapp .
CMD ["./myapp"]