Memulai Docker di VPS
Ditulis oleh tim ApexVPS • Terakhir diperbarui: Juli 2026 • 8 mnt baca
Menjalankan Docker di VPS adalah cara tercepat untuk beralih dari kotak Ubuntu kosong ke aplikasi web, basis data, atau layanan self-hosted yang berjalan dalam hitungan menit. Alih-alih berjuang dengan paket sistem dan dependensi yang saling bertentangan, Anda menarik image yang sudah jadi dan memulai kontainer. Panduan pemula ini memandu Anda melalui instalasi Docker dan Docker Compose di Ubuntu atau Debian, konsep inti yang Anda butuhkan, meluncurkan kontainer pertama Anda, menyimpan data dengan volume, dan beberapa dasar keamanan agar Anda tidak terjebak.
Mengapa menjalankan Docker di VPS?
Server pribadi virtual memberi Anda akses root penuh dan sumber daya khusus, yang persis dibutuhkan kontainer. Dengan Docker terpasang, Anda dapat menjalankan banyak layanan terisolasi berdampingan tanpa saling mengganggu. Setiap kontainer membawa pustakanya sendiri, sehingga aplikasi Node, basis data Postgres, dan proksi terbalik dapat hidup berdampingan di satu mesin dengan rapi. Jika tujuan Anda adalah hosting mandiri aplikasi di VPS — misalnya cloud pribadi, wiki, atau server media — Docker menjaga setiap layanan tetap rapi dan dapat direproduksi.
Kontainer juga portabel. File Compose yang sama yang berjalan di laptop Anda juga berjalan di server, menghilangkan masalah klasik "jalan di mesin saya". Membangun ulang layanan setelah kesalahan hanya butuh detik, bukan sore hari untuk menginstal ulang paket.
Konsep inti dalam bahasa sederhana
Sebelum menyentuh baris perintah, ada baiknya mengenal empat komponen dasar:
- Image — templat hanya-baca yang berisi aplikasi dan semua yang dibutuhkannya untuk berjalan. Anda mengunduh image dari registri seperti Docker Hub. Anggap saja sebagai cuplikan atau kelas.
- Kontainer — instance image yang sedang berjalan. Anda dapat memulai, menghentikan, dan menghapus kontainer dengan bebas. Banyak kontainer dapat dibuat dari image yang sama, seperti objek yang dibuat dari sebuah kelas.
- Volume — penyimpanan persisten yang berada di luar lapisan tulis kontainer. Volume adalah cara Anda menjaga basis data dan file yang diunggah tetap aman saat kontainer diganti.
- Jaringan — jaringan virtual yang memungkinkan kontainer saling berkomunikasi berdasarkan nama. Docker membuatnya otomatis untuk setiap proyek Compose sehingga aplikasi Anda dapat menjangkau basis datanya di nama host yang mudah.
Langkah 1: Pasang Docker di Ubuntu atau Debian
Cara paling sederhana dan resmi untuk memasang Docker Engine adalah skrip kenyamanan. Sambungkan ke server Anda melalui SSH lalu jalankan:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
Ini memasang Docker Engine beserta plugin Compose. Setelah selesai, verifikasi versinya:
docker --version
docker compose version
Secara default, Docker memerlukan sudo. Untuk menjalankannya sebagai pengguna biasa, tambahkan diri Anda ke grup docker, lalu keluar dan masuk kembali agar perubahan berlaku:
sudo usermod -aG docker $USER
Docker juga mulai saat boot di sebagian besar sistem. Jika suatu saat perlu mengaktifkannya secara manual:
sudo systemctl enable --now docker
Lebih suka metode repositori paket atau ingin detail lengkap untuk distribusi Anda? Dokumentasi instalasi Docker resmi mencakup semua opsi. Skrip kenyamanan di atas ideal untuk VPS baru.
Langkah 2: Jalankan kontainer pertama Anda
Uji instalasi dengan image hello-world klasik:
docker run hello-world
Docker menarik image, menjalankannya sekali, dan mencetak pesan konfirmasi. Sekarang mari jalankan sesuatu yang benar-benar terlihat. Perintah ini memulai server web Nginx di latar belakang dan memetakan port 8080 di host ke port 80 di kontainer:
docker run -d -p 8080:80 --name web nginx
Buka http://your-server-ip:8080 di peramban dan Anda akan melihat halaman selamat datang Nginx. Beberapa flag yang perlu diketahui:
-dmenjalankan kontainer secara terpisah, di latar belakang.-p 8080:80memublikasikan port sebagaihost:container.--name webmemberi nama yang mudah diingat pada kontainer.
Periksa apa yang berjalan, lalu hentikan dan hapus kontainer setelah selesai:
docker ps
docker stop web
docker rm web
Beberapa perintah sudah cukup untuk sebagian besar pekerjaan sehari-hari. docker images mencantumkan image yang telah Anda tarik, docker logs web menampilkan keluaran kontainer untuk pemecahan masalah, dan docker exec -it web bash membuka shell di dalam kontainer yang berjalan agar Anda dapat mencoba-coba. Mempelajari lima atau enam perintah ini sudah cukup untuk mengelola server kecil dengan percaya diri, dan sisanya bisa Anda cari saat dibutuhkan.
Langkah 3: Gunakan Docker Compose untuk aplikasi multi-kontainer
Mengetik perintah docker run yang panjang membosankan. Docker Compose memungkinkan Anda mendeskripsikan seluruh tumpukan (stack) dalam satu file dan menjalankannya dengan satu perintah. Buat file bernama compose.yaml:
services:
web:
image: nginx:latest
ports:
- "8080:80"
volumes:
- web-data:/usr/share/nginx/html
restart: unless-stopped
volumes:
web-data:
Dari direktori yang sama, mulai semuanya di latar belakang:
docker compose up -d
Compose membuat network, named volume, dan container untuk Anda. Perintah yang berguna:
docker compose ps
docker compose logs -f
docker compose down
Kebijakan restart: unless-stopped berarti layanan akan kembali otomatis setelah reboot atau crash — berguna untuk server yang tidak Anda pantau 24 jam.
Langkah 4: Simpan data dengan volume
Ini bagian yang paling sering salah dipahami pemula. Apa pun yang ditulis di dalam filesystem container akan hilang saat container dihapus atau dibuat ulang. Untuk menyimpan data, letakkan di volume. Ada dua pendekatan umum:
- Named volumes — dikelola oleh Docker, ideal untuk database. Contoh Compose di atas menggunakan volume bernama
web-data. - Bind mounts — memetakan folder di host langsung ke container, misalnya
./config:/etc/app. Cocok untuk file konfigurasi yang ingin Anda edit manual.
Periksa dan kelola volume dari baris perintah:
docker volume ls
docker volume inspect web-data
Selama path penting Anda mengarah ke volume, Anda dapat menghapus dan membangun ulang container sepanjang hari tanpa kehilangan satu byte pun. Cadangkan direktori volume sebagai bagian dari cadangan server Anda.
Langkah 5: Perbarui image dan container
Image container menerima pembaruan keamanan dan fitur seperti perangkat lunak lainnya. Memperbarui tumpukan Compose adalah rutinitas dua langkah: tarik image yang lebih baru, lalu buat ulang container.
docker compose pull
docker compose up -d
Karena data Anda tersimpan di volume, pembuatan ulang aman. Seiring waktu, image yang tidak terpakai menumpuk dan memakan ruang disk. Bersihkan sesekali:
docker image prune
Sematkan ke tag versi tertentu (misalnya postgres:16 alih-alih latest) saat Anda menginginkan pembaruan yang dapat diprediksi dan berulang, bukan kejutan.
Keamanan Docker dasar untuk pemula
Container memang praktis, tetapi bukan batas keamanan ajaib. Beberapa kebiasaan menjauhkan Anda dari masalah:
- Hanya jalankan image yang Anda percaya. Utamakan image resmi atau penerbit terkenal. Jangan jalankan image sembarangan sebagai root hanya karena tutorial menyuruh Anda — image yang tidak tepercaya menjalankan kode di server Anda.
- Jangan gunakan root di dalam container. Banyak image resmi mendukung pengguna non-root, atau Anda dapat mengaturnya dengan instruksi
USERdi Dockerfile. Menjalankan sebagai pengguna terbatas mengurangi dampak jika aplikasi disusupi. - Hanya publikasikan port yang Anda butuhkan. Setiap flag
-pmembuka pintu ke internet. Jaga database di jaringan internal Docker dan ekspos hanya front end web Anda. - Jaga host tetap diperbarui. Keamanan Docker dimulai dengan server yang aman. Jalankan
sudo apt update && sudo apt upgradesecara teratur dan kunci SSH.
Sebelum mengekspos apa pun secara publik, ikuti checklist pendamping kami tentang cara mengamankan VPS Anda dalam 10 menit pertama — ini mencakup kunci SSH, firewall, dan pembaruan otomatis yang cocok dengan host Docker.
Memilih VPS yang siap untuk Docker
Docker berjalan di perangkat keras sederhana, tetapi sumber daya khusus membuat perbedaan nyata setelah Anda menumpuk beberapa container. Hosting bersama yang oversold berarti tetangga yang berisik dapat memperlambat database Anda di saat terburuk. ApexVPS memberikan vCPU khusus yang sebenarnya, penyimpanan NVMe SSD, dan akses root penuh, sehingga container Anda mendapatkan kinerja yang Anda bayar. Setiap paket mendukung Ubuntu, Debian, dan distribusi populer lainnya, dan Anda dapat menambahkan kunci SSH saat pendaftaran.
Pembayaran hanya melalui kripto via OxaPay, menerima Bitcoin, Ethereum, USDT dan 30+ mata uang kripto — tanpa kartu kredit, tanpa rekening bank, dan tanpa KYC. Anda cukup memberikan email untuk menerima detail akses, dan itu saja. Bandingkan spesifikasi dan region di harga ApexVPS untuk menemukan paket yang sesuai dengan beban kerja kontainer Anda.
Pertanyaan yang sering diajukan
Apakah saya perlu RAM besar untuk menjalankan Docker di VPS?
Tidak. Docker sendiri ringan dan hanya menambah sedikit overhead. Satu atau dua kontainer berjalan nyaman dengan RAM 2 GB, sedangkan 4 GB atau lebih memberi ruang untuk database dan beberapa layanan sekaligus.
Apakah itu docker-compose atau docker compose?
Pada instalasi modern, Compose disertakan sebagai plugin, jadi perintahnya docker compose (dengan spasi). Binari docker-compose standalone yang lebih lama masih berfungsi tetapi mulai ditinggalkan — gunakan versi plugin pada setup baru.
Di mana data saya disimpan saat kontainer dihapus?
Semua yang ditulis di dalam kontainer akan hilang saat dihapus. Simpan data penting di named volume atau bind mount agar tetap ada saat kontainer dibuat ulang. Itulah cara database dan upload tetap aman.
Bisakah saya membayar VPS siap-Docker dengan mata uang kripto?
Ya. Pembayaran ApexVPS hanya via kripto melalui OxaPay dan menerima Bitcoin, Ethereum, USDT dan 30+ koin. Pendaftaran hanya butuh email, tanpa kartu kredit dan tanpa verifikasi identitas.