Junior — Middle
Որ մեթոդներն են թույլ տալիս նվազեցնել Docker-ի վերջնական պատկերի չափը?
sobes.tech AI
Պատասխան AI-ից
Դոկերային վերջնական պատկերի ծավալը նվազեցնելու համար կիրառվում են հետևյալ մոտեցումները:
- Մինիմալիստական բազային պատկերների օգտագործում՝ օրինակ,
alpineփոխարենubuntuկամdebian: - Բազմաաստղային կառուցում (multi-stage builds)՝ թույլ է տալիս կառուցել ծրագիրը մեկ պատկերում և միայն անհրաժեշտ արգումենտները պատճենել վերջնական պատկերին:
- Անհրաժեշտ ֆայլերի և cache-ների հեռացում՝ փաթեթների, փաթեթների կառավարիչների cache-ների, ժամանակավոր ֆայլերի մաքառում:
- RUN հրամանների միավորումը՝ նվազեցնելով պատկերի շերտերի քանակը:
.dockerignoreօգտագործում՝ անպետք ֆայլերը բացառելու համար:
Բազմաաստղային կառուցման օրինակ:
FROM golang:1.20-alpine AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp
FROM alpine
COPY --from=builder /app/myapp /myapp
CMD ["/myapp"]
Այս մոտեցումը թույլ է տալիս ստանալ կոմպակտ պատկերը՝ միայն այն անհրաժեշտ պարագաներով, որոնք անհրաժեշտ են ծրագրի գործարկման համար։