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:
alpineyokiscratchkabi minimal asosiy tasvirlardan foydalaning, hajmni kamaytirish uchun.- Paketlarni o'rnatgandan so'ng vaqtinchalik fayllar va keshlarni o'chiring (masalan,
apt-get cleanva/var/lib/apt/lists/*ni o'chirish). - Komandalarni bitta
RUNga 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.