
Daftar Isi
Anda ingin membuat lingkungan aplikasi yang bisa dijalankan di mana saja tanpa ribet instalasi ulang? Jika iya, maka Docker adalah jawabannya.
Namun, banyak pemula yang masih kebingungan dengan satu hal penting: bagaimana cara membuat dan menjalankan container dari Dockerfile dengan benar?
Mungkin Anda pernah mendengar istilah Dockerfile, tetapi tidak yakin fungsinya apa, bagaimana menulisnya, atau bagaimana cara menjalankannya hingga menjadi container yang benar-benar berfungsi. Jangan khawatir — artikel ini akan menjadi panduan lengkap dan mudah dipahami untuk Anda.
Dalam panduan ini, Anda akan belajar:
- Apa itu Dockerfile dan mengapa penting.
- Struktur dasar Dockerfile.
- Langkah-langkah membuat image dari Dockerfile.
- Cara menjalankan container dari image yang sudah dibuat.
- Tips praktis agar tidak salah konfigurasi.
Apa Itu Dockerfile?
Dockerfile adalah file teks berisi instruksi untuk membangun sebuah Docker image.
Bayangkan Dockerfile seperti resep masakan — setiap baris di dalamnya memberi tahu Docker apa yang harus dilakukan: menginstal software, menyalin file, membuka port, dan sebagainya.
Dari Dockerfile ini, Anda bisa membuat image, lalu dari image tersebut Anda jalankan container — yaitu aplikasi yang hidup di dalam lingkungan terisolasi.
Langkah-Langkah Membuat dan Menjalankan Container dari Dockerfile
1. Siapkan Lingkungan Docker
Pastikan Docker sudah terinstal di sistem Anda. Jalankan perintah berikut untuk memverifikasi:
docker --versionJika muncul versi Docker, berarti instalasi berhasil.
Jika belum terinstal, Anda bisa mengunduhnya dari situs resmi Docker atau menggunakan perintah:
sudo dnf install docker -y
sudo systemctl enable --now docker2. Buat Folder Proyek
Buat direktori kerja baru agar lebih rapi. Misalnya:
mkdir my-docker-app
cd my-docker-appDi dalam folder ini, Anda akan menyimpan Dockerfile dan file aplikasi (jika ada).
3. Buat Dockerfile
Buat file bernama Dockerfile tanpa ekstensi:
nano DockerfileKemudian isi dengan contoh sederhana berikut:
# Gunakan image dasar dari Python
FROM python:3.10-slim
# Tentukan direktori kerja di dalam container
WORKDIR /app
# Salin file dari host ke container
COPY . /app
# Instal dependensi (jika ada file requirements.txt)
RUN pip install --no-cache-dir -r requirements.txt
# Tentukan perintah default untuk menjalankan aplikasi
CMD ["python", "app.py"]Penjelasan singkat:
FROM→ menentukan image dasar.WORKDIR→ lokasi kerja di dalam container.COPY→ menyalin file dari komputer Anda ke container.RUN→ menjalankan perintah saat build image.CMD→ perintah yang dijalankan ketika container dijalankan.
4. Bangun Image dari Dockerfile
Gunakan perintah berikut untuk membangun image:
docker build -t my-python-app .Keterangan:
-t→ memberi nama/tag pada image..→ menunjukkan bahwa Dockerfile ada di direktori saat ini.
Setelah selesai, cek apakah image sudah berhasil dibuat:
docker images5. Jalankan Container dari Image
Sekarang jalankan container berdasarkan image yang tadi dibuat:
docker run -d -p 5000:5000 my-python-appPenjelasan:
-d→ menjalankan container di background.-p→ memetakan port container ke port host (misalnya 5000).
Untuk memastikan container berjalan:
docker psJika ingin menghentikan container:
docker stop <container_id>6. (Opsional) Melihat Log Container
Jika aplikasi Anda tidak berjalan sesuai harapan, lihat log dengan perintah:
docker logs <container_id>Anda juga bisa masuk ke dalam container:
docker exec -it <container_id> /bin/bashIni membantu untuk debugging langsung di dalam container.
7. Tips Praktis untuk Pemula
- Gunakan
.dockerignoreuntuk mengecualikan file yang tidak perlu. - Gunakan image dasar slim untuk menghemat ukuran.
- Beri nama yang deskriptif pada image dan container.
- Selalu uji perintah
RUNsatu per satu di lokal sebelum menambahkannya ke Dockerfile.
Anda sudah berhasil membuat image dan menjalankan container menggunakan Dockerfile. Dengan memahami dasar ini, Anda bisa mulai mengotomatisasi pembangunan aplikasi, menguji sistem dengan cepat, dan membuat lingkungan kerja yang konsisten di berbagai mesin.
Ingin lanjut belajar Docker lebih dalam?
Baca juga: [Cara Mengelola Volume dan Jaringan di Docker untuk Pemula]
