Skip to main content

1. Pengenalan Docker

image.png

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 :

image.png

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.yml dan 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

  1. Kita ambil image dari Docker Hub (misalnya nginx)
  2. Docker menjalankan image jadi container
  3. 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