EN: Read in English
Dunia D2: Resepi
Pilih image asas
Anda akan belajar: bagaimana asas alpine, slim, distroless dan hardened ubah saiz dan keselamatan.
Teks BM belum disemak oleh penutur asli.
Disemak dengan Docker Engine 29 pada 31 Okt 2026
Masalahnya
Laptop anda~/diary
- Tiada tingkap terbuka
Bekas (container)
- Belum ada container
Pek beku (image)
- nginx:1.30-alpine8 layer · 93.5MB
- nginx:latest7 layer · 243MB
0 container (0 berjalan), 2 image, 0 loker.
Laman sama, resepi sama, dua asas. Satu pek lebih dua kali ganda besar. Asas mana yang anda nak hantar?
Tengok
Ketik setiap titik pada garis masa.
image asas (base image): Pek siap yang resepi anda mula guna. Itulah baris FROM. ialah baris FROM: pek yang anda mula guna. Ketik setiap satu, dari yang paling besar ke paling kecil.
Cuba
Kecilkan pek makanan API bawah 200MB. Tukar asas dan cuba peringkat build.
Kecilkan pek makanan bawah 200MB. Setiap butang ialah helah sebenar.
Saiz image 1.36GB
Sasaran: 200MBMula: 1.36GB
Base image
Helah resepi
Dockerfile
FROM node:24 WORKDIR /app COPY . . RUN npm ci RUN npm run build CMD ["node", "dist/server.js"]
Teka
Anda hantar atas distroless: Image asas yang ada apa aplikasi perlu sahaja. Tiada shell, tiada pengurus pakej.. Kemudian anda taip docker exec -it api sh untuk tengok-tengok. Apa jadi?
Pilih satu jawapan.
Semak
Ralat sebenar: executable file not found in $PATH. Maksudnya: tiada sh dalam pek ini. Memang itu tujuannya.
Semak
Asas mana yang sesuai?
Seret kad ke dalam kotak. Atau ketik kad, kemudian ketik kotak.
Anda berjaya!
Kini anda boleh pilih asas ikut saiz, alat dan keselamatan.
Nak tahu lebih (pilihan)
Docker Hardened Images ada di dhi.io. Log masuk dengan akaun Docker percuma anda, kemudian pull, contohnya dhi.io/python:3.13. Ia datang dengan SBOM dan provenance yang ditandatangani (Dunia D5). Asas distroless dan hardened sesuai dengan peringkat build.
Misi sebenar
docker pull node:24-alpinedocker images
0 daripada 3 langkah siap · Tanda anda disimpan.
English
Same page, same recipe, two bases. One pack is more than twice as big. Which base would you ship?
The base image is the FROM line: the pack you start from. Tap each one, from biggest to smallest.
Shrink the API’s meal pack below 200MB. Swap the base and try a build stage.
You ship on distroless. Then you type docker exec -it api sh to look around. What happens?
Real error: executable file not found in $PATH. Plain words: there is no sh in this pack. That is the point.
Which base fits?
You can now pick a base by size, tools and safety.
Anda dah siapkan ini. Latihan lagi pun bagus!
Dokumentasi rasmi: Docker docs: Best practices (choose the right base image) · Docker docs: Base images · Docker Hardened Images · Docker Hardened Images: get started
Anda dah belajar 25 minit. Rehat sekejap bantu otak anda.
Pecutan selesai! Fokus yang hebat. Regangkan badan seminit?