Skip to main content

Docker Container

1️⃣ Apa itu Docker Container?

Docker Container adalah unit standar perangkat lunak yang membungkus kode beserta seluruh dependensinya sehingga aplikasi dapat berjalan dengan cepat dan andal dari satu environment ke environment lainnya. Container adalah instance dari Image. Kita bisa membuat lebih dari satu container dari image yang sama. Container tersebut saling terisolasi sehingga tidak akan bentrok aplikasinya.

Image & Container

2️⃣ Karakteristik Utama Container

  • Terisolasi: Setiap kontainer berjalan di lingkungannya sendiri. Kontainer A tidak bisa melihat isi Kontainer B kecuali kita mengizinkannya melalui jaringan.
  • Ringan: Kontainer tidak butuh OS utuh. Ia meminjam Kernel dari host Linux, sehingga bisa menyala dalam hitungan milidetik.
  • Ephemeral (Sementara): Kontainer bersifat sementara. Jika Anda menghapus kontainer, semua data di dalamnya akan hilang (kecuali Anda menggunakan Volumes).
  • Portabel: "Build Once, Run Anywhere". Kontainer yang jalan di laptop anda akan jalan dengan cara yang sama persis Server Production di Cloud.

3️⃣ Perintah Dasar Mengelola Container

PerintahFungsi
docker runMembuat dan menjalankan kontainer baru.
docker psMelihat daftar kontainer yang sedang jalan.
docker stopMenghentikan kontainer yang sedang jalan.
docker rmMenghapus kontainer (harus distop dulu).
docker logsMenlihat log/catatan aplikasi di dalam kontainer.
docker execMasuk ke dalam kontainer yang sedang aktif.

4️⃣ Tips

  • Stateless: Usahakan kontainer bersifat Stateless. Artinya, jangan simpan data penting di dalam kontainer. Simpanlah di Database atau Volume luar.
  • Limit Resources: Biasakan membatasi penggunaan RAM saat menjalankan kontainer agar server tidak crash:
docker run --memory="512m" --cpus="0.5" nginx
  • Auto-Restart: Di produksi, gunakan flag --restart agar kontainer menyala otomatis jika komputer host mati atau kontainer crash:
docker run --restart always nginx