Sobes.tech
Junior — Middle

Konteyner görüntüsünün çox mərhələli qurulmasını necə həyata keçirirsiniz?

sobes.tech Süni İntellekt

AI-dan cavab

Docker-da çox mərhələli quruluş (multi-stage build) bir Dockerfile daxilində bir neçə quruluş mərhələsi yaratmağa imkan verir, bu da yekun görüntünün ölçüsünü azaltmağa və tərtibat mərhələlərini işə salma mərhələsindən ayırmağa kömək edir.

Əsas fikir, bir Dockerfile-də bir neçə FROM təlimatından istifadə etməkdir, hər mərhələ əvvəlki mərhələlərin artefaktlarından istifadə edə bilər.

Nümunə:

# Quruluş mərhələsi
FROM golang:1.20 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp

# Yekun görüntü mərhələsi
FROM alpine:latest
WORKDIR /app
COPY --from=builder /app/myapp .
CMD ["./myapp"]

Burada əvvəlcə Go tətbiqi qurulur, sonra isə yekun görüntüdə yalnız tərtib olunmuş ikili fayl kopyalanır, mənbə fayllar və quruluş alətləri olmadan.