Middle+
Kas ir multi-stage build Docker? Kam tas ir nepieciešams?
sobes.tech AI
Atbilde no AI
Multi-stage build Docker ļauj izmantot vairākus būvniecības posmus vienā Dockerfile. Tas palīdz izveidot kompakti un optimizēti attēlus, atdalot būvniecības un galīgās palaišanas posmus.
Piemēram, pirmajā posmā var būvēt lietotni ar nepieciešamajiem rīkiem un atkarībām, bet otrajā tikai nokopēt kompilētos artefaktus minimālā attēlā bez nevajadzīgiem failiem un būvniecības rīkiem.
Priekšrocības:
- Galīgā attēla izmēra samazināšana
- Drošības uzlabošana (mazāk komponentu galīgajā konteinerā)
- Dockerfile tīrība un pārvaldības vienkāršība
Piemērs:
# Būvniecības posms
FROM golang:1.20 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp
# Galīgais attēls
FROM alpine:latest
COPY --from=builder /app/myapp /usr/local/bin/myapp
CMD ["myapp"]