Lewati ke isi

Server & Infrastruktur

Apa Itu Docker? Panduan Container untuk Pemula

Docker mengemas aplikasi dan kebutuhannya dalam container yang berjalan sama di mana saja. Pelajari image, container, volume, dan Compose bertahap.

Terbit 6 menit baca

Jawaban singkat

Docker adalah platform untuk mengemas aplikasi beserta semua kebutuhannya ke dalam container, yaitu lingkungan terisolasi yang berjalan sama di laptop, VPS, maupun server lain. Container lebih ringan dari mesin virtual karena memakai kernel sistem operasi host bersama.

Daftar isi
  1. Langkah 1 sampai 3: pahami konsepnya
  2. 1. Bayangkan peti kemas di pelabuhan
  3. 2. Bedakan container dengan mesin virtual
  4. 3. Kenali enam istilah dasar
  5. Langkah 4 dan 5: jalankan aplikasi pertamamu
  6. 4. Coba satu perintah docker run
  7. 5. Pindah ke Compose dan simpan data di volume
  8. Langkah 6 dan 7: rawat dan pilih cara pasang
  9. 6. Jadwalkan pekerjaan rutin
  10. 7. Putuskan: pasang sendiri atau aplikasi 1 klik
  11. Ringkasan: apa beda mesin virtual dan container?
  12. Pertanyaan yang sering diajukan
  13. Checklist sebelum memakai Docker

Pernah membaca panduan pasang n8n, Nextcloud, atau Vaultwarden lalu bertemu kalimat "jalankan dengan Docker" dan bingung harus mulai dari mana? Kamu tidak sendirian. Banyak aplikasi open-source modern memang dirilis dalam bentuk container.

Jawabannya singkat: Docker adalah platform untuk mengemas aplikasi beserta semua yang dibutuhkannya, mulai dari runtime, library, sampai pengaturan, ke dalam satu unit bernama container. Container berjalan dengan cara yang sama di laptop developer, VPS, maupun server produksi, sehingga masalah klasik "di komputer saya jalan, di server tidak" jauh berkurang. Panduan ini mengajakmu memahaminya selangkah demi selangkah.

Langkah 1 sampai 3: pahami konsepnya

1. Bayangkan peti kemas di pelabuhan

Isi peti kemas bisa apa saja, tapi bentuk luarnya standar, jadi bisa diangkut kapal, truk, atau kereta tanpa dibongkar. Container di dunia software bekerja serupa: isinya aplikasi dan kebutuhannya, bentuknya standar, dan bisa dijalankan di mesin mana pun yang punya Docker.

Secara teknis, container adalah proses yang diisolasi oleh kernel Linux. Setiap container punya sistem file, jaringan, dan daftar prosesnya sendiri, tapi semuanya memakai kernel host yang sama. Itulah yang membuatnya ringan dan cepat dinyalakan1.

2. Bedakan container dengan mesin virtual

Mesin virtual (VM), seperti VPS, mensimulasikan satu komputer utuh lengkap dengan sistem operasinya sendiri. Container hanya mengemas aplikasi dan library-nya, lalu berbagi kernel dengan host. Ringkasan perbedaannya ada di tabel di bagian akhir artikel.

Keduanya bukan saingan. Dalam praktik, container justru paling sering dijalankan di dalam VPS. Kalau belum paham VPS, baca dulu apa itu VPS.

3. Kenali enam istilah dasar

  • Image: cetakan siap pakai berisi aplikasi dan semua kebutuhannya. Image bersifat hanya-baca.
  • Container: image yang sedang dijalankan. Dari satu image kamu bisa menjalankan banyak container.
  • Dockerfile: file teks berisi resep untuk membuat image, misalnya "mulai dari Python versi tertentu, salin kode, pasang library".
  • Registry: tempat menyimpan dan berbagi image. Docker Hub adalah registry publik yang paling dikenal.
  • Volume: tempat menyimpan data di luar container. Container bisa dihapus dan dibuat ulang saat update, tapi data di volume tetap aman.
  • Docker Compose: cara menjalankan beberapa container sekaligus dari satu file compose.yaml, misalnya aplikasi web, database, dan cache.

Langkah 4 dan 5: jalankan aplikasi pertamamu

4. Coba satu perintah docker run

Setelah Docker Engine terpasang di server Linux, menjalankan aplikasi cukup dengan satu perintah. Contoh ini menjalankan web server Nginx dan membukanya di port 8080:

docker run -d --name web -p 8080:80 nginx
docker ps

Perintah kedua menampilkan container yang sedang berjalan. Cara memasang Docker Engine untuk tiap distribusi Linux ada di dokumentasi resmi Docker.

5. Pindah ke Compose dan simpan data di volume

Aplikasi yang butuh database biasanya dijalankan dengan Compose. Contoh sederhana:

services:
  app:
    image: ghost
    ports:
      - "2368:2368"
    volumes:
      - ghost-data:/var/lib/ghost/content
volumes:
  ghost-data:

Jalankan dengan docker compose up -d. Perhatikan bagian volumes. Isi container dianggap sementara, jadi database, file unggahan, dan konfigurasi penting harus disimpan di volume. Kalau tidak, data ikut hilang saat container dibuat ulang.

Dari sini manfaatnya mulai terasa:

  • Pemasangan konsisten. Versi aplikasi dan library terkunci di image, tidak bergantung pada isi server.
  • Update dan rollback lebih mudah. Ganti image ke versi baru. Kalau bermasalah, kembali ke versi sebelumnya.
  • Banyak aplikasi di satu server. Setiap aplikasi terisolasi, sehingga versi PHP atau Node.js yang berbeda tidak saling bentrok.
  • Mudah dipindah. Pindah server cukup dengan menyalin file Compose dan volume data.
  • Lingkungan uji yang sama dengan produksi. Developer bisa menjalankan image yang sama di laptop sebelum dipasang di server, sehingga kejutan saat rilis berkurang.

Langkah 6 dan 7: rawat dan pilih cara pasang

6. Jadwalkan pekerjaan rutin

Docker memudahkan pemasangan, tapi server tidak merawat dirinya sendiri. Yang tetap harus diurus:

  • Memperbarui image aplikasi dan sistem operasi host.
  • Mengatur reverse proxy dan sertifikat SSL agar aplikasi bisa diakses lewat domain dengan HTTPS.
  • Membatasi port yang terbuka ke internet. Port yang dipetakan Docker bisa terbuka meski firewall host tampak menutupnya, jadi periksa aturan jaringannya.
  • Membackup volume data secara rutin ke lokasi lain.
  • Memantau RAM, karena setiap container membawa prosesnya sendiri. Cara menghitungnya ada di memilih spesifikasi VPS.

7. Putuskan: pasang sendiri atau aplikasi 1 klik

Kalau kamu ingin kendali penuh dan nyaman dengan terminal, jalankan Docker di VPS. VPS High Performance memberi akses root sehingga kamu bebas memasang Docker dan aplikasi apa pun.

Kalau tujuanmu hanya menjalankan satu aplikasi seperti WordPress, n8n, atau Vaultwarden tanpa mengurus perintah Docker, reverse proxy, dan SSL, Nivelva Apps memasangnya sekali klik dan pengelolaannya lewat panel. Akses SSH tidak disediakan di layanan ini. Perbandingan lengkapnya ada di aplikasi open-source 1 klik.

Ringkasan: apa beda mesin virtual dan container?

Mesin virtual (VM)Container
Yang dikemasSistem operasi utuh + aplikasiAplikasi + library
KernelMasing-masing VM punya sendiriBerbagi kernel host
UkuranUmumnya gigabyteUmumnya megabyte sampai ratusan megabyte
Waktu menyalaPuluhan detik sampai menitBiasanya hitungan detik
IsolasiSangat kuat, lewat hypervisorKuat, lewat fitur kernel
ContohVPS, server virtual di cloudDocker, Podman

Pertanyaan yang sering diajukan

Apakah Docker gratis?

Docker Engine untuk server Linux bersifat open-source dan bisa dipakai tanpa biaya. Untuk Docker Desktop dan layanan berbayar Docker, cek ketentuan lisensinya di situs resmi Docker.

Apakah container sama dengan VPS?

Tidak. VPS adalah mesin virtual dengan sistem operasi sendiri. Container hanya mengemas aplikasi dan berbagi kernel dengan host, dan biasanya dijalankan di dalam VPS.

Apakah data hilang kalau container dihapus?

Data di dalam container ikut hilang. Data yang disimpan di volume tetap aman, karena itu database dan file unggahan wajib memakai volume.

Berapa RAM yang dibutuhkan untuk menjalankan Docker?

Docker sendiri ringan. Kebutuhan RAM ditentukan oleh aplikasi di dalam container, jadi jumlahkan kebutuhan setiap aplikasi lalu tambahkan cadangan.

Checklist sebelum memakai Docker

  • Sudah paham beda image, container, dan volume.
  • Data penting disimpan di volume, bukan di dalam container.
  • Port yang terbuka ke internet sudah diperiksa.
  • Reverse proxy dan SSL sudah disiapkan untuk akses lewat domain.
  • Backup volume terjadwal ke lokasi lain.
  • RAM server cukup untuk semua container yang akan berjalan.

Sumber & referensi

  1. 1

    Konsep image, container, dan volume dijelaskan di dokumentasi resmi Docker (docs.docker.com).

Baca juga