Ringankan Image dengan Build Multi-Tahap
Kurangi ukuran image dengan memisahkan lapisan build dan runtime.
Ringankan Image dengan Build Multi-Tahap adalah pelajaran MLOps Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar MLOps Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus MLOps Academy mencakup 4 pelajaran total.
Citra Besar Menyulitkan
Citra yang membengkak lambat untuk didorong, ditarik, dan dimulai, serta membawa lebih banyak komponen yang harus ditambal. Pembangunan multi-tahap hanya mengirimkan hal-hal yang benar-benar Anda perlukan.
Gagasan Inti
Anda menggunakan satu tahap untuk membangun dan tahap kedua yang bersih untuk menjalankan aplikasi. Alat pembangunan tetap tertinggal, sehingga citra akhir tetap kecil.
Beri Nama Tahap Pembangunan
Tambahkan AS builder ke baris FROM untuk memberi nama pada suatu tahap. Anda dapat merujuk nama tersebut nanti untuk mengambil file darinya.
FROM python:3.11 AS builderInstal ke Builder
Di builder, instal dependensi ke awalan yang diketahui. Tanda --user menempatkan semuanya dengan rapi di bawah satu folder yang mudah disalin.
RUN pip install --user --no-cache-dir -r requirements.txtMulai Tahap Runtime
Buka tahap baru yang ramping untuk komponen yang benar-benar dijalankan. Tahap ini tidak memiliki kompiler atau tembolok yang diperlukan builder.
FROM python:3.11-slimSalin Hanya Artefak
Gunakan COPY --from=builder untuk mengambil hanya paket yang telah diinstal ke tahap runtime. Lapisan pembangunan yang berat ditinggalkan.
COPY --from=builder /root/.local /root/.localMasukkan Kode Anda
Salin juga sumber aplikasi Anda ke tahap yang ramping. Kini citra akhir berisi kode Anda dan hanya dependensi runtime-nya.
COPY . /appPerbaiki Jalur
Paket yang diinstal pengguna berada di bawah .local, jadi tambahkan jalur tersebut ke PATH. Jika tidak, runtime tidak dapat menemukan perintah yang telah diinstal.
ENV PATH=/root/.local/bin:$PATHHanya Tahap Terakhir yang Dikirim
Docker hanya menyimpan tahap terakhir dalam citra Anda. Semua isi tahap sebelumnya dibuang, kecuali Anda menyalinnya secara eksplisit.
Coba Distroless
Untuk hasil yang paling kecil dan aman, jalankan aplikasi pada basis distroless tanpa shell atau pengelola paket. Permukaan serangan yang lebih kecil berarti lebih sedikit hal yang dapat dieksploitasi.
Ukur Hasilnya
Periksa penurunan ukuran dengan docker images. Mengurangi ukuran dari lebih dari satu gigabita menjadi beberapa ratus megabita merupakan hal yang umum dan layak dilakukan.
docker images model-apiPemeriksaan Singkat
Mari kita periksa apa saja yang dipertahankan oleh pembangunan multi-tahap.
Rangkuman
Anda memisahkan pembangunan dari runtime, hanya menyalin artefak dengan COPY --from, memperbaiki PATH, dan mengecilkan citra. Ringkas dan cepat. ✅
Belajar Python dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 30
- Pelajaran
- 120
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Ringankan Image dengan Build Multi-Tahap” gratis?
Ya — teks lengkap “Ringankan Image dengan Build Multi-Tahap” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus MLOps Academy, upgrade ke CoddyKit PRO. Kursus MLOps Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Ringankan Image dengan Build Multi-Tahap”?
Kurangi ukuran image dengan memisahkan lapisan build dan runtime. Kamu berlatih MLOps Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai MLOps Academy?
Tidak diperlukan pengalaman sebelumnya. MLOps Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.
Berapa lama pelajaran “Ringankan Image dengan Build Multi-Tahap” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran MLOps Academy ini?
Ya. Setiap pelajaran MLOps Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Tulis Dockerfile untuk API Model
- Ringankan Image dengan Build Multi-Tahap
- Kirim Konfigurasi melalui Variabel Lingkungan
- Jalankan dan Uji Kontainer Secara Lokal