MLOps Academy · Pelajaran

Ringankan Image dengan Build Multi-Tahap

Kurangi ukuran image dengan memisahkan lapisan build dan runtime.

Pelajaran 2 dari 413 langkah

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 builder

Instal 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.txt

Mulai 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-slim

Salin 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/.local

Masukkan Kode Anda

Salin juga sumber aplikasi Anda ke tahap yang ramping. Kini citra akhir berisi kode Anda dan hanya dependensi runtime-nya.

COPY . /app

Perbaiki 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:$PATH

Hanya 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-api

Pemeriksaan 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. ✅

Gratis untuk memulai

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

  1. Tulis Dockerfile untuk API Model
  2. Ringankan Image dengan Build Multi-Tahap
  3. Kirim Konfigurasi melalui Variabel Lingkungan
  4. Jalankan dan Uji Kontainer Secara Lokal
← Kembali ke MLOps Academy