Mengemas API Model dengan Docker
Dockerfile untuk FastAPI + model, build bertahap, endpoint pemeriksaan kesehatan, docker-compose.
Mengemas API Model dengan Docker adalah pelajaran Learn AI with Python gratis di CoddyKit. Ini adalah pelajaran 4 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 Learn AI with Python, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Learn AI with Python mencakup 4 pelajaran total.
Mengapa Docker?
Docker mengemas API, versi Python, dan semua dependensinya ke dalam satu citra portabel yang berjalan secara identik di mesin mana pun. Docker mengakhiri masalah "berjalan di laptop saya" dan merupakan cara standar untuk mengirimkan layanan pembelajaran mesin.
Dockerfile
Dockerfile adalah resep yang terdiri atas langkah-langkah pembuatan. Setiap instruksi membuat lapisan yang disimpan dalam cache, sehingga pengurutan langkah yang baik mempercepat pembangunan ulang.
FROM python:3.11-slim
Baris FROM memilih citra dasar. python:3.11-slim adalah citra Debian kecil dengan Python yang telah terpasang, jauh lebih ringan daripada citra lengkap, sehingga mengurangi ukuran akhir dan permukaan serangan Anda.
FROM python:3.11-slimWORKDIR /app
WORKDIR menetapkan direktori kerja di dalam kontainer; perintah COPY dan RUN berikutnya beroperasi secara relatif terhadapnya, sehingga jalur tetap rapi.
WORKDIR /appSalin requirements Terlebih Dahulu
Salin hanya requirements.txt sebelum kode sumber. Karena Docker menyimpan lapisan dalam cache, dependensi hanya dipasang ulang ketika requirements berubah, bukan setiap kali kode diedit, sehingga pembangunan ulang menjadi jauh lebih cepat.
COPY requirements.txt .RUN pip install --no-cache-dir
RUN menjalankan perintah pembangunan. --no-cache-dir melewati cache unduhan pip agar citra tetap lebih kecil (cache tersebut tidak berguna di dalam citra).
RUN pip install --no-cache-dir -r requirements.txtSalin Kode Sumber
Sekarang salin sisa aplikasi Anda. Melakukan ini setelah pemasangan pip berarti pengeditan kode tidak membatalkan lapisan dependensi yang tersimpan dalam cache.
COPY . .EXPOSE 8000
EXPOSE mendokumentasikan port yang digunakan kontainer untuk mendengarkan. Instruksi ini tidak memublikasikan port itu sendiri (Anda melakukannya saat menjalankan dengan -p), tetapi memberi tahu pembaca dan alat tentang maksudnya.
EXPOSE 8000Instruksi CMD
CMD mendefinisikan perintah bawaan yang dijalankan saat kontainer dimulai. Di sini kita meluncurkan uvicorn dengan mengikatnya ke 0.0.0.0 agar dapat dijangkau dari luar kontainer.
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]Dockerfile Lengkap
Semua bagian dalam urutan yang benar dan ramah cache:
FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
EXPOSE 8000
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]Membangun dan Menjalankan
Bangun citra dengan label, lalu jalankan dengan memetakan port kontainer ke host Anda menggunakan -p.
# terminal
docker build -t model-api .
docker run -p 8000:8000 model-apiPemeriksaan Singkat
Uji pengetahuan Anda tentang Docker.
Ringkasan
Anda membuat API dalam Docker: FROM python:3.11-slim, WORKDIR /app, menyalin requirements.txt terlebih dahulu, menjalankan RUN pip install --no-cache-dir, menyalin sumber, menetapkan EXPOSE 8000, serta menggunakan CMD untuk meluncurkan uvicorn. Mengurutkan langkah untuk caching lapisan membuat pembangunan ulang tetap cepat. Kursus penyajian FastAPI dan kumpulan konten ini selesai.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Mengemas API Model dengan Docker” gratis?
Ya — teks lengkap “Mengemas API Model dengan Docker” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Learn AI with Python, upgrade ke CoddyKit PRO. Kursus Learn AI with Python mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Mengemas API Model dengan Docker”?
Dockerfile untuk FastAPI + model, build bertahap, endpoint pemeriksaan kesehatan, docker-compose. Kamu berlatih Learn AI with Python 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 Learn AI with Python?
Tidak diperlukan pengalaman sebelumnya. Learn AI with Python 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 4 dari 4.
Berapa lama pelajaran “Mengemas API Model dengan Docker” 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 Learn AI with Python ini?
Ya. Setiap pelajaran Learn AI with Python 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
- Dasar-Dasar FastAPI untuk Insinyur Pembelajaran Mesin
- Skema Pydantic untuk Permintaan dan Respons
- Memuat dan Menyajikan Model Pembelajaran Mesin
- Mengemas API Model dengan Docker