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"]