Sobes.tech
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"]

Այս մոտեցումը թույլ է տալիս ստանալ կոմպակտ պատկերը՝ միայն այն անհրաժեշտ պարագաներով, որոնք անհրաժեշտ են ծրագրի գործարկման համար։