Apa Itu Docker?

Apa Itu Docker?

Docker adalah platform untuk membangun, mengemas, mendistribusikan, dan menjalankan aplikasi dalam container. Container menjalankan proses terisolasi di atas kernel Linux (atau VM ringan di Windows/macOS), sehingga aplikasi + dependensi bisa dipindahkan antar server dengan perilaku yang konsisten.

Konsep inti

  • Image: template read-only berisi filesystem aplikasi + dependensi. Image dibuat dari Dockerfile dan tersimpan di registry.

  • Container: instance dari image yang sedang berjalan (punya layer writable).

  • Registry: tempat menyimpan image (contoh umum: Docker Hub / private registry).

  • Docker Engine: layanan (daemon) + CLI yang mengelola image, container, network, dan volume.

Komponen operasional penting

  • Network: menghubungkan container (bridge, host, overlay untuk cluster).

  • Volume: penyimpanan persisten di luar lifecycle container (untuk database, upload, dsb).

  • Docker Compose: mendefinisikan dan menjalankan aplikasi multi-container (web + db + cache) dengan satu file YAML.

Kelebihan utama

  • Portabilitas: jalan konsisten dari laptop → staging → production.

  • Isolasi: dependensi dan proses terpisah per aplikasi.

  • Deployment cepat: pull image dan run, rollback mudah dengan tag image.

Batasan dan catatan

  • Container bukan VM penuh: berbagi kernel host, jadi isolasi tidak setara hypervisor.

  • Memberi user akses ke group docker setara hak root (risk besar jika tidak dikontrol).

  • Untuk kebutuhan keamanan lebih ketat, pertimbangkan rootless mode dan hardening host.

Use case umum

  • Packaging aplikasi web/API, worker, dan tool automation.

  • Menjalankan stack seperti Nginx + App + DB dengan Compose.

  • CI/CD: build image, push ke registry, deploy ke server/cluster.

Kalau kamu mau, saya bisa buat versi rangkuman ini khusus untuk posting (lebih pendek) + contoh diagram alur Dockerfile → Image → Registry → Container.


Published on December 15, 2025
← Back to Journey