Membuat Dockerfile: Membuat Custom Image
Dockerfile adalah file teks berisi serangkaian instruksi yang memungkinkan kita membangun custom image secara otomatis. Dengan Dockerfile, kita dapat membuat image khusus yang dioptimalkan untuk aplikasi kita, mengurangi ukuran image, dan menyertakan semua dependensi yang diperlukan. Dalam artikel ini, kita akan belajar cara membuat Dockerfile dari awal untuk membuat custom image sederhana dan memahami instruksi dasar dalam Dockerfile.
Konsep Dasar Dockerfile
Dockerfile adalah serangkaian instruksi yang dijalankan secara berurutan oleh Docker untuk membangun image. Berikut beberapa instruksi dasar yang sering digunakan:
- FROM: Menentukan image dasar yang akan digunakan sebagai fondasi.
- COPY: Menyalin file dari mesin host ke dalam image.
- WORKDIR: Mengatur direktori kerja untuk perintah-perintah berikutnya.
- RUN: Menjalankan perintah di dalam container saat build.
- CMD: Mendefinisikan perintah default yang dijalankan saat container dijalankan.
Membuat Dockerfile untuk Aplikasi Sederhana
Mari kita mulai membuat custom image untuk aplikasi Python sederhana. Kita akan membuat aplikasi “Hello, Docker!” menggunakan Python.
Langkah 1: Buat Direktori Proyek
Buat direktori baru untuk proyek Docker kita dan pindah ke dalam direktori tersebut:
mkdir my-docker-app
cd my-docker-app
Langkah 2: Buat File Aplikasi
Buat file Python bernama app.py
di dalam direktori my-docker-app
:
print("Hello, Docker!")
Langkah 3: Buat Dockerfile
Di dalam direktori proyek, buat file teks bernama Dockerfile
.
Langkah 4: Tambahkan Instruksi ke Dockerfile
Buka Dockerfile dan tambahkan instruksi berikut:
# Menggunakan image Python resmi sebagai dasar
FROM python:3.8-slim
# Menetapkan direktori kerja
WORKDIR /app
# Menyalin file app.py ke dalam direktori kerja di image
COPY app.py /app
# Menjalankan perintah untuk mengeksekusi file app.py
CMD ["python", "app.py"]
Penjelasan Instruksi:
FROM python:3.8-slim: Menentukan image dasar, yakni versi slim Python 3.8 yang ringan dan efisien.
WORKDIR /app: Mengatur direktori kerja dalam container ke /app
.
COPY app.py /app: Menyalin file app.py
dari host ke direktori kerja dalam image.
CMD [“python”, “app.py”]: Menjalankan aplikasi Python saat container dimulai.
Membangun Image dari Dockerfile
Setelah Dockerfile dan aplikasi Anda siap, langkah berikutnya adalah membangun image.
1. Buka terminal dan pastikan Anda berada di direktori my-docker-app
.
2. Jalankan perintah berikut untuk membangun image:
docker build -t my-python-app .
Penjelasan:
- -t my-python-app: Memberikan nama (tag) pada image yang dibuat, yakni
my-python-app
. - .: Menunjukkan bahwa Dockerfile berada di direktori saat ini.
Setelah proses build selesai, Anda akan melihat pesan “Successfully built”, yang menandakan image berhasil dibuat.
Menjalankan Container dari Image Custom
Setelah image dibuat, kita bisa menjalankan container dari image tersebut.
1. Jalankan perintah berikut untuk membuat container dari image my-python-app
:
docker run my-python-app
2. Output yang diharapkan adalah:
Hello, Docker!
Ini menandakan aplikasi berjalan dengan sukses di dalam container.