Sobes.tech
Intern

Šta je višestepena izgradnja u Docker-u i čemu služi?

sobes.tech АИ

Одговор од АИ

Мултистаге скупљање у Docker-у је метода креирања Docker слика која користи више фаза скупљања у једном Dockerfile-у. У првим фазама се компилира и припрема апликација, а у последњим се формира минимална финална слика без непотребних алата и изворног кода.

Зашто је потребно:

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

Пример:

FROM golang:1.20 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp

FROM alpine:latest
COPY --from=builder /app/myapp /usr/local/bin/myapp
CMD ["myapp"]

Овде се прво скупља апликација на Go-у, а затим у коначну слику копира само компајлирани бинарник.