Sobes.tech
Middle

Dockerfile yozishda eng yaxshi amaliyotlar: qanday qilib tasvirlarni kichik va xavfsiz qilish mumkin?

sobes.tech AI

AIdan javob

Docker tasvirlarini kichik va xavfsiz qilish uchun quyidagi amaliyotlarni bajaring:

  • alpine yoki scratch kabi minimal asosiy tasvirlardan foydalaning, hajmni kamaytirish uchun.
  • Paketlarni o'rnatgandan so'ng vaqtinchalik fayllar va keshlarni o'chiring (masalan, apt-get clean va /var/lib/apt/lists/* ni o'chirish).
  • Komandalarni bitta RUN ga birlashtirib, qatlamlar sonini minimallashtiring.
  • Ko'p bosqichli qurilishlardan foydalaning, shunda faqat kerakli artefaktlar yakuniy tasvirga kiradi.
  • Konteynerlarni root bo'lmagan foydalanuvchilar bilan ishga tushiring.
  • Fayl va muhit o'zgaruvchilariga kirish huquqlarini cheklang.
  • Ma'lum zaifliklarni yopish uchun asosiy tasvirlar va bog'liqliklarni yangilang.

Ko'p bosqichli Dockerfile misoli:

FROM golang:1.20-alpine AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp

FROM alpine:latest
RUN adduser -D appuser
USER appuser
COPY --from=builder /app/myapp /usr/local/bin/myapp
CMD ["myapp"]

Ushbu yondashuv yakuniy tasvir hajmini kamaytiradi va minimal muhit va root bo'lmagan foydalanuvchi bilan xavfsizlikni oshiradi.