Cheat Sheet Docker untuk Fullstack Developer

Halo semua! Balik lagi bareng gua. Kali ini kita bakal bahas teknologi yang lagi hype banget di dunia Cloud dan DevOps. Namanya Docker. Kalau lu sering denger istilah "Lho, di laptop gua jalan kok, pas dipindah ke server kok error?", nah Docker adalah obatnya!

1. Apa Itu Docker? (Pengertian)

Gampangnya, Docker itu adalah platform buat ngebungkus aplikasi lu beserta semua "temen-temennya" (library, runtime, database, config) jadi satu paket utuh. Paket ini namanya Container.

Jadi, aplikasi lu nggak bakal peduli lagi dia jalan di Windows, Linux, atau Mac. Selama ada Docker di situ, aplikasi lu bakal jalan dengan lancar jaya!

2. Analogi Gampang: Kapal Kontainer

Bayangin lu mau kirim barang lewat kapal laut. Barang lu ada kasur, kulkas, sama kompor.

  •  Kalau lu taruh gitu aja di dek kapal, pas badai barangnya bisa berantakan atau ketuker sama barang orang lain.
  • Solusinya? Masukin semua barang lu ke dalam satu Peti Kemas (Kontainer).
  • Begitu masuk kontainer, lu nggak peduli kapalnya segede apa atau siapa kaptennya, barang lu tetep rapi di dalam kotak itu sampai tujuan. Itulah Docker.

3. Konsep & Cara Kerja (Biar Gak Bingung)

Ada 3 komponen utama yang wajib lo tau:

  •  Dockerfile: Ini "resep masakan". Isinya instruksi cara bikin aplikasi lu (misal: install Node.js, copy file, terus jalankan server).
  • Image: Ini "masakan yang udah jadi" tapi beku. Ini hasil dari build Dockerfile lu. Belum jalan, baru file doang.
  • Container: Ini "masakan yang udah disajiin". Image yang lu jalankan bakal jadi Container yang aktif dan bisa diakses user.

4. Kenapa Harus Pake Docker? (Tujuan & Kelebihan)

  • Portabilitas Tinggi: Build sekali, jalanin di mana aja.
  • Hemat Resource: Lebih enteng daripada Virtual Machine (VM) karena dia nggak perlu instal OS ulang di dalamnya.
  • Isolasi: Aplikasi lu nggak bakal ganggu aplikasi lain di server yang sama.
  • Scalable: Kalau web lu rame, tinggal "copy-paste" containernya jadi banyak dalam hitungan detik.

5. Ada Kurangnya Gak? (Kekurangan)

  • Belajar Lagi: Harus paham konsep networking dan volumes dikit.
  • Data Persistence: Kalau lu hapus container tanpa setup "Volume", data di dalamnya bisa ilang (makanya database biasanya ditaruh di luar atau di-mount khusus).

🛠️ Cheat Sheet: Command Sakti Docker

1. Persiapan (Login)

docker login

  • Fungsi: Buat "absensi" ke Docker Hub biar lu bisa upload/download image pribadi lu.

2. Membuat "Bungkus" (Build)

docker build -t username_lu/nama_apps:v1.1 .

  • Fungsi: Ngerubah kode program lu jadi Image siap pakai. Tanda titik . artinya resepnya ada di folder saat ini.

3. Upload & Download (Push & Pull)

docker push username_lu/nama_apps:v1.1

  • Fungsi: Ngirim image lu ke "awan" (Docker Hub).

docker pull username_lu/nama_apps:v1.1

  • Fungsi: Narik image dari awan ke server tujuan.

4. Menjalankan Aplikasi (Run & Compose)

docker-compose up -d

  • Fungsi: Juru selamat! Dia bakal baca file docker-compose.yml lu dan jalanin aplikasi di background (-d).

docker-compose down

  • Fungsi: Matiin semua aplikasi yang lagi jalan lewat compose.

5. Monitoring (Cek Kondisi)

docker ps

  • Fungsi: Liat daftar container yang lagi aktif (ibarat Task Manager).

docker logs -f [nama_container]

  • Fungsi: Ngintip apa yang terjadi di dalem container (buat cari error).

6. Masuk ke Dalem "Jeroan" (Exec)

docker exec -it [nama_container] sh

  • Fungsi: Ini perintah buat lu "masuk" ke dalam container yang lagi jalan secara interaktif.
  • Kenapa Butuh? Misal lu mau ngecek apakah file favicon.ico udah beneran ke-copy, atau mau ngecek koneksi database dari dalem container, lu pake ini.
  • Artinya: * -i (interactive) & -t (tty): Biar lu bisa ngetik dan dapet respon terminal di dalemnya.
  • sh atau bash: Jenis shell (terminal) yang lu buka di dalem container.

Comments

Popular posts from this blog

Apa itu Link Aggregation?

Apa Itu Port Security di Switch Cisco