Daftar Isi :
Apa Itu Docker?
Docker adalah platform open-source yang memungkinkan pengembang untuk membangun, mengemas, dan menjalankan aplikasi dalam container. Container adalah unit terisolasi yang berisi aplikasi beserta semua dependensinya (library, konfigurasi, dan file sistem), sehingga dapat dijalankan secara konsisten di berbagai lingkungan, baik di laptop pengembang, server, maupun cloud.
Docker sangat populer karena memungkinkan pengembangan dan deployment aplikasi yang lebih cepat, ringan, dan portabel dibandingkan dengan metode tradisional seperti virtual machine (VM).
Masih belum paham juga? baca sampai habis ya biar paham!

Bagaimana Prinsip Kerja Container?
Container bekerja dengan virtualisasi tingkat sistem operasi, yang memungkinkan beberapa aplikasi berjalan dalam lingkungan yang terisolasi di atas satu kernel sistem operasi yang sama. Berikut prinsip kerja utama container:
- Isolation (Isolasi)
- Setiap container memiliki file sistem, dependensi, dan konfigurasi sendiri tanpa mengganggu container lain atau sistem utama.
- Lightweight (Ringan)
- Tidak seperti Virtual Machine (VM) yang membutuhkan OS terpisah, container berbagi kernel OS yang sama, sehingga lebih ringan dan cepat.
- Portability (Portabel)
- Karena semua dependensi sudah dikemas dalam container, aplikasi dapat dijalankan di berbagai sistem tanpa masalah kompatibilitas.
- Scalability (Dapat Diskalakan)
- Container dapat dengan mudah ditambah atau dikurangi jumlahnya sesuai kebutuhan aplikasi, terutama dalam arsitektur microservices.
Docker vs. Virtual Machine (VM)

Fitur | Container (Docker) | Virtual Machine (VM) |
---|---|---|
Boot Time | Sangat cepat (detik) | Lambat (menit) |
Resource Usage | Ringan (berbagi kernel) | Berat (butuh OS penuh) |
Isolasi | Sedang (berbagi kernel) | Tinggi (OS terpisah) |
Portabilitas | Sangat tinggi | Terbatas |
Deployment | Mudah dan cepat | Relatif kompleks |
Komponen Utama Docker
- Docker Engine – Mesin utama yang menjalankan container di sistem operasi.
- Docker Image – Blueprint atau template untuk membuat container, berisi aplikasi dan dependensinya.
- Docker Container – Instance dari Docker Image yang sedang berjalan.
- Dockerfile – File konfigurasi untuk membangun Docker Image.
- Docker Hub – Repositori online tempat berbagi dan mengunduh Docker Image.
Cara Kerja Docker dalam Menjalankan Container
- Membuat Docker Image
- Developer menulis Dockerfile, yang berisi instruksi untuk membangun image aplikasi.
- Membangun Image
- Docker menggunakan perintah
docker build
untuk membuat image dari Dockerfile.
- Docker menggunakan perintah
- Menjalankan Container
- Dengan perintah
docker run
, Docker menjalankan container berdasarkan image yang dibuat.
- Dengan perintah
- Scaling dan Deployment
- Container bisa di-scale secara horizontal untuk menangani lebih banyak traffic.
- Container Management
- Dengan bantuan Docker Compose atau Kubernetes, aplikasi berbasis container dapat dikelola lebih efisien.
Contoh Penggunaan Docker
- Menjalankan Aplikasi Web dalam Container
docker run -d -p 8080:80 nginx
- Perintah ini menjalankan Nginx dalam container dan menghubungkan port 8080 dari host ke port 80 dalam container.
- Membuat Dockerfile untuk Aplikasi Node.js
FROM node:14 WORKDIR /app COPY . . RUN npm install CMD ["node", "server.js"]
- File ini menginstruksikan Docker untuk menggunakan image Node.js, menyalin kode aplikasi, menginstal dependensi, dan menjalankan server.
Kesimpulan
Docker adalah teknologi containerisasi yang memungkinkan aplikasi berjalan secara portabel, ringan, dan cepat. Dengan menggunakan Docker, developer dapat memastikan bahwa aplikasi berjalan secara konsisten di berbagai lingkungan, dari pengembangan hingga produksi.
untuk mempelajari lebih lanjut tentang docker bisa cek di https://docs.docker.com/