Docker memungkinkan Anda menjalankan database, aplikasi web, dan alat dalam container terisolasi, sehingga memasang sesuatu yang baru tidak mengacaukan bagian server lainnya. Panduan ini memasang Docker Engine dan Docker Compose di Ubuntu lalu menjalankan layanan nyata pertama.
1. Instal dari repositori Docker
sudo apt update
sudo apt install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo $VERSION_CODENAME) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Periksa instalasi dengan sudo docker run hello-world.
2. Jalankan Docker tanpa sudo
sudo usermod -aG docker $USER
newgrp docker
Anggota grup docker pada dasarnya memiliki kekuasaan setingkat root di mesin tersebut, jadi tambahkan hanya pengguna yang Anda percaya.
3. File Compose pertama Anda
Buat folder dan compose.yaml yang menjalankan alat pemantau Uptime Kuma:
mkdir -p ~/kuma && cd ~/kuma
cat > compose.yaml <<'EOF'
services:
kuma:
image: louislam/uptime-kuma:1
restart: unless-stopped
ports:
- "127.0.0.1:3001:3001"
volumes:
- ./data:/app/data
EOF
docker compose up -d
Mengikat ke 127.0.0.1 menjaga port tetap tidak terbuka ke internet publik. Pasang reverse proxy seperti Nginx atau Caddy di depannya bila Anda ingin mengaksesnya dari luar.
Perintah sehari-hari
docker psmenampilkan daftar container yang berjalan.docker compose logs -fmengikuti log.docker compose pull && docker compose up -dmemperbarui ke image yang lebih baru.docker system prunemenghapus image yang tidak terpakai dan container yang berhenti.
Peringatan keamanan tentang firewall
Docker menulis aturan iptables-nya sendiri. Port yang dipublikasikan sebagai "8080:80" bisa dijangkau dari internet meskipun UFW menyatakan port itu diblokir. Publikasikan hanya yang memang harus publik, ikat layanan privat ke 127.0.0.1, dan uji dari luar dengan port scanner.
Yang dijalankan selanjutnya
Aplikasi self-hosted yang populer antara lain Nextcloud, Vaultwarden, Gitea, Plausible, n8n, dan Jellyfin. Lihat panduan kami tentang self-hosting Nextcloud untuk contoh lengkap.