1. Pengenalan Docker
1. Apa Itu Docker?
Docker adalah alat untuk membuat dan menjalankan "container", yaitu kotak kecil yang berisi aplikasi lengkap dan bisa berjalan di komputer mana pun.
Bayangkan kamu membuat mie instan:
- Kompor = Komputer
- Panci & air = Sistem operasi
- Bumbu + Mie = Aplikasi
- Nah, Docker seperti rice cooker: siap pakai, tidak peduli dapurnya di mana.
Istilah Penting
- Image = resep aplikasi (contoh:
nginx,mysql,node) - Container = aplikasi yang sudah jadi dari image
- Dockerfile = file resep untuk membuat image
- Docker Hub = tempat download image (mirip Play Store untuk Docker)
2. Kenapa Harus Pakai Docker?
- 💼 Portabel: Bisa dijalankan di laptop, server, atau cloud.
- ⚡ Cepat: Lebih ringan dari virtual machine (VM).
- 💻 Konsisten: Tidak ada lagi masalah “kok di laptop saya jalan?”
3. Perbedaan Docker dan Virtual Machine
Sebelum ada Docker, biasanya aplikasi diinstal langsung di sistem operasi (OS). Cara ini punya banyak kekurangan, seperti:
-
Susah setup: perlu install banyak library manual
-
Tidak konsisten: beda OS → bisa beda hasil
-
Aplikasi bisa konflik: misalnya dua versi PHP bentrok
Dengan Docker, semua konfigurasi, library, dan environment dikemas ke dalam 1 box/container yang bisa langsung dijalankan di mana saja.
Perbandingan :
| Fitur | Instal Langsung di OS | Virtual Machine (VM) | Docker Container |
|---|---|---|---|
| Kebutuhan OS | Langsung pakai OS utama | Perlu OS lengkap di atas host | Share OS kernel dengan host |
| Isolasi Aplikasi | Minim | Sangat terisolasi | Cukup terisolasi |
| Setup | Ribet (manual install) | Lewat template atau ISO | Lewat Dockerfile + image |
| Konflik antar aplikasi | Bisa terjadi | Tidak (karena OS terpisah) | Tidak (pakai container) |
| Ukuran | Ringan | Berat (GB-an) | Ringan (puluhan MB – ratusan MB) |
| Kecepatan boot/start | Instan | Lambat (menit) | Cepat (detik) |
| Portabilitas | Sulit pindah | Bisa, tapi besar & lambat | Sangat portabel & cepat |
| Cocok untuk DevOps & CI/CD | Tidak cocok | Kurang fleksibel | Sangat cocok |
Bayangkan kamu ingin install aplikasi Laravel + MySQL:
-
Cara tradisional: install PHP, Composer, MySQL, atur environment manual.
Bisa error kalau beda OS atau library tidak cocok. -
Pakai Docker: tinggal pakai
docker-compose.ymldan semua langsung jalan — tidak perlu install PHP atau MySQL di laptop!docker-compose up -d
Semua jalan di container masing-masing.
4. Cara Kerja Docker
- Kita ambil image dari Docker Hub (misalnya
nginx) - Docker menjalankan image jadi container
- Kita bisa akses aplikasi dari browser atau terminal
[ Docker Image ] --> [ Docker Container ] --> [ Aplikasi Jalan ]
5. Instalasi Docker (Ubuntu/Linux)
sudo apt update
sudo apt install docker.io -y
sudo systemctl enable docker
sudo systemctl start docker
6. Perintah Dasar Docker
| Perintah | Fungsi |
|---|---|
docker --version |
Cek versi Docker |
docker run hello-world |
Jalankan contoh pertama |
docker ps |
Lihat container yang aktif |
docker images |
Lihat daftar image |
docker pull nginx |
Download image dari Docker Hub |
docker run -d -p 8080:80 nginx |
Jalankan nginx di port 8080 |
docker stop <id> |
Hentikan container |
docker rm <id> |
Hapus container |
docker rmi <id> |
Hapus image |
7. Contoh Praktik: Web + Database dengan Docker Compose
Buat file docker-compose.yml:
version: '3'
services:
web:
image: nginx
ports:
- "8080:80"
db:
image: postgres
environment:
POSTGRES_PASSWORD: rahasia
Jalankan:
docker-compose up -d
Akses localhost:8080 di browser.
8. Kesimpulan
Docker adalah alat keren yang membantu kita menjalankan aplikasi dengan cara cepat, ringan, dan konsisten. Cocok untuk yang ingin masuk ke dunia DevOps, sistem administrator, dan cloud.
Docker tidak hanya soal performa, tapi soal cara kerja modern yang membuat aplikasi lebih fleksibel, konsisten, dan mudah dipindah.
Dengan Docker, kamu tidak lagi "install aplikasi" — kamu menjalankan aplikasi siap pakai, lengkap dengan semua konfigurasinya.
Sumber Belajar Lanjut
- https://docker.com
- https://play-with-docker.com


No Comments