Sobes.tech
Intern

Kas ir daudzposmu būvniecība Docker un kam tā ir nepieciešama?

sobes.tech AI

Atbilde no AI

Daudzfāžu būvniecība Docker ir metode, kas izmanto vairākus būvniecības posmus vienā Dockerfile. Pirmajās posmos tiek kompilēta un sagatavota lietojumprogramma, bet pēdējās veido minimālo galīgo attēlu bez liekiem instrumentiem un avota kodu.

Kāpēc tas ir nepieciešams:

  • Samazināt galīgā attēla izmēru, jo tajā ir tikai nepieciešamie faili.
  • Palielināt drošību, jo attēlā nav iekļauti būvniecības rīki un avota kods.
  • Vienkāršot būvniecības procesu, jo visi posmi ir aprakstīti vienā Dockerfile.

Piemērs:

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

Šeit vispirms tiek būvēta Go lietojumprogramma, un pēc tam tikai kompilētā binārā kopē uz galīgo attēlu.