Loncat ke konten utama

Docker

Diperbarui: 29 Oktober 2026
By Willya Randika

Docker adalah alat untuk menjalankan aplikasi di dalam container. Container membungkus aplikasi dan dependensinya, sehingga environment di laptop, staging, dan server bisa lebih konsisten. Docker bukan mesin virtual. Container berbagi kernel host dan biasanya lebih ringan daripada VM.

Istilah inti

IstilahArti
ImageTemplate read-only berisi aplikasi dan dependensi
ContainerInstance yang berjalan dari image
VolumePenyimpanan persisten di luar siklus hidup container
NetworkJaringan virtual yang menghubungkan container
DockerfileResep untuk membangun image

Image tidak berubah saat container berjalan. Kalau Anda mengubah file di dalam container, perubahan itu hilang saat container dibuat ulang, kecuali disimpan di volume.

Alur dasar

Buat Dockerfile, lalu jalankan docker build -t aplikasi:1.0 .. Setelah image terbentuk, jalankan docker run -d --name aplikasi -p 3000:3000 aplikasi:1.0. Untuk beberapa layanan, gunakan Docker Compose agar network dan volume didefinisikan dalam satu file.

Data database harus berada di volume, bukan di filesystem container. Contohnya -v db-data:/var/lib/mysql. Kalau tidak, data bisa hilang saat container dihapus.

Yang perlu diperhatikan

Setiap container memakai RAM dan disk. Di VPS 1 sampai 2 GB, jalankan hanya layanan yang benar-benar perlu, batasi memory, dan pantau ukuran image. Gunakan docker system prune secara berkala, tetapi jangan menghapus volume yang masih dipakai.

Jangan expose Docker socket ke publik. Socket itu memberi akses setara root. Untuk produksi, simpan image di registry dan deploy dengan tag versi yang jelas, bukan latest. Pisahkan database dari container aplikasi bila memungkinkan.

Docker juga bisa melewati aturan firewall host. Port yang dipublikasikan dengan -p bisa terbuka meskipun UFW memblokirnya. Uji dari mesin lain dan atur aturan DOCKER-USER. Lihat Firewall Linux untuk konteks.

Konteks

Docker sering dipakai bersama CI/CD Deployment dan Snapshot VPS. Kalau Anda memilih serverless, lihat Serverless untuk batas dan biayanya.

Di produksi, gunakan Docker Compose atau orchestrator kecil agar dependensi antar-container jelas. Tambahkan healthcheck, batas memory, dan kebijakan restart. docker logs dan docker stats membantu melihat error serta pemakaian resource. Jangan hanya mengandalkan status container karena container bisa hidup tetapi aplikasinya gagal.

Simpan konfigurasi Compose di version control agar perubahan bisa ditinjau. Jalankan docker compose config sebelum deploy untuk memeriksa variabel dan volume. Uji restart container untuk memastikan data tetap ada.

FAQ

Apakah Docker sama dengan virtual machine?

Tidak. VM menjalankan sistem operasi sendiri. Container berbagi kernel host dan mengisolasi proses, sehingga biasanya lebih ringan.

Mengapa data container saya hilang?

Data yang ditulis di filesystem container ikut hilang saat container dihapus. Simpan data penting di volume atau database eksternal.

Apakah Docker aman untuk produksi?

Bisa, kalau image diperbarui, container tidak berjalan sebagai root, socket tidak diekspos, dan port dibatasi. Docker bukan lapisan keamanan tunggal.

Disclaimer: Artikel WikiHosting disusun untuk tujuan edukasi dan referensi. Teknologi hosting terus berkembang, sehingga beberapa informasi teknis mungkin berubah seiring waktu.