Junior — Middle
Selgitage mitmeastmelise ehituse kontseptsiooni Dockeris ja selle eeliseid.
sobes.tech AI
Vastus AI-lt
Docker mitme etapi ehitus võimaldab kasutada ühes Dockerfile'is mitut ehitusfaasi. See tähendab, et esmalt saab ehitada rakenduse vajalikus konteineris koos tööriistade ja sõltuvustega ning seejärel kopeerida ainult vajalikud artefaktid lõplikku pildile, mis on minimaalne ja kerge.
Eelised:
- Lõpliku pildi suuruse vähendamine, kuna ehitustööriistad ja ajutised failid ei kuulu.
- Turvalisuse tõstmine, kuna lõplik pilt ei sisalda tarbetuid komponente.
- Lihtsam hooldus ja loetavus Dockerfile'is, kuna kõik etapid on kirja pandud ühes kohas.
Näide Go jaoks:
# Ehitusfaas
FROM golang:1.20 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp
# Lõplik pilt
FROM alpine:latest
WORKDIR /app
COPY --from=builder /app/myapp .
CMD ["./myapp"]