← Semua tulisan

5 menit baca

Instalasi Docker Engine di Ubuntu Server 24.04

Panduan memasang Docker Engine dan Docker Compose Plugin di Ubuntu Server 24.04 lewat repository resmi, sampai container uji berjalan.

  • Docker
  • Ubuntu
  • Server
Sampul artikel: teks "Docker di Ubuntu 24.04" di atas latar gelap dengan blok perintah.

Ada satu kebiasaan yang cocok dijalankan begitu server baru selesai dipasang: menyiapkan cara menjalankan aplikasi sebelum aplikasinya ada. Untuk sebagian besar proyek, cara itu adalah Docker.

Docker menjalankan aplikasi di dalam container, sehingga dependensi aplikasi — versi PHP, Node.js, PostgreSQL, atau apa pun yang dibutuhkan — tidak dipasang langsung ke sistem operasi host. Server cukup menyediakan kernel, Docker, dan ruang disk. Ketika update sistem datang, yang rusak biasanya bukan container, karena container membawa dependensinya sendiri.

Artikel ini mencatat langkah instalasi Docker Engine di Ubuntu Server 24.04 dari repository resmi Docker, ditambah Docker Compose Plugin. Semua perintahnya dijalankan sekali per server dan tidak sulit diulang di mesin lain.

Alur singkat: repository resmi, instal paket, aktifkan service, verifikasi

Empat langkah yang sama setiap kali menyiapkan server baru.

Prasyarat

Yang dibutuhkan hanya Ubuntu Server 24.04, akses internet, dan pengguna yang bisa memakai sudo. Tidak perlu menyiapkan apa pun sebelumnya; paket yang dibutuhkan akan dipasang di langkah ketiga.

1. Perbarui daftar paket

Mulai dari kondisi sistem yang mutakhir, supaya paket Docker tidak bertabrakan dengan versi lama yang masih tersimpan di cache:

sudo apt update
sudo apt upgrade -y

2. Hapus paket Docker versi lama

Kalau server ini sebelumnya pernah memakai Docker dari repository lain, paket-paket berikut berpotensi konflik dan sebaiknya dilepas lebih dulu:

sudo apt remove docker.io docker-doc docker-compose podman-docker containerd runc

Perintah ini hanya melepas paket, bukan data. Image, container, dan volume yang sudah ada di /var/lib/docker tetap tersimpan. Kalau memang belum pernah ada Docker di server ini, apt akan melaporkan paket tidak ditemukan dan proses bisa dilanjutkan.

3. Tambahkan repository resmi Docker

Repository bawaan Ubuntu sering tertinggal beberapa versi, sehingga instalasi diarahkan ke repository resmi Docker. Paket yang dibutuhkan untuk mengelola repository:

sudo apt install ca-certificates curl

Buat direktori penyimpanan key, lalu unduh GPG key resmi Docker ke dalamnya:

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

chmod a+r diperlukan karena APT membaca key tersebut sebagai pengguna lain, bukan root. Tanpa permission baca, apt update akan gagal dengan pesan signature yang kurang jelas penyebabnya.

Selanjutnya daftarkan repository. Ubuntu 24.04 sudah mendukung format deb822, yang menuliskan seluruh konfigurasi dalam satu berkas .sources alih-alih beberapa baris deb dan deb-src:

sudo tee /etc/apt/sources.list.d/docker.sources > /dev/null <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF

Bagian $(...) di dalam heredoc sengaja dibiarkan tanpa tanda kutip, agar nama codename dan arsitektur diisi dari sistem yang sedang dipakai. Hasilnya satu berkas yang menyebutkan ke mana paket diambil, untuk arsitektur apa, dan key mana yang memverifikasinya.

Muat ulang daftar paket agar repository baru terbaca:

sudo apt update

4. Instal Docker Engine

sudo apt install docker-ce docker-ce-cli containerd.io \
  docker-buildx-plugin docker-compose-plugin

Lima paket itu punya peran berbeda:

  • docker-ce — daemon Docker yang menjalankan dan mengelola container.
  • docker-ce-cli — perintah docker yang dipakai di terminal.
  • containerd.io — runtime yang menangani siklus hidup container di bawah daemon.
  • docker-buildx-plugin — mesin build image, dipakai docker build.
  • docker-compose-plugin — perintah docker compose untuk aplikasi multi-container.

Dua paket terakhir yang membuat pekerjaan sehari-hari nyaman: build dengan BuildKit dan satu berkas compose.yaml untuk menjalankan aplikasi beserta database-nya.

5. Aktifkan service Docker

Agar Docker ikut berjalan saat server dinyalakan ulang, aktifkan service-nya sekaligus sekarang:

sudo systemctl enable --now docker

Periksa statusnya:

sudo systemctl status docker

Status yang diharapkan adalah active (running). Kalau service gagal start, penyebab paling sering adalah konfigurasi daemon di /etc/docker/daemon.json yang tidak valid; journalctl -u docker -n 50 akan menunjukkan baris yang bermasalah.

6. Verifikasi instalasi

Periksa versi yang terpasang:

docker --version
docker compose version

Lalu jalankan container uji:

sudo docker run hello-world

Perintah itu mengunduh image kecil dari Docker Hub, menjalankannya, dan menampilkan pesan konfirmasi. Kalau pesan itu muncul, tiga hal sudah terbukti: CLI bisa menghubungi daemon, koneksi ke registry berjalan, dan container bisa dibuat serta dijalankan.

Lampiran mini: perintah yang paling sering dipakai setelah instalasi

Simpan daftar ini; sisanya jarang dibutuhkan.

7. Menjalankan Docker tanpa sudo (opsional)

Secara default perintah Docker butuh sudo. Kalau server hanya dipakai oleh satu pengguna tepercaya, pengguna itu bisa dimasukkan ke grup docker:

sudo usermod -aG docker "$USER"

Perubahan grup tidak berlaku di sesi yang sedang aktif. Logout lalu login kembali, atau buka shell baru dengan:

newgrp docker

Setelah itu coba lagi tanpa sudo:

docker run hello-world

Catatan keamanan: keanggotaan grup docker praktis setara root. Siapa pun di grup itu bisa menjalankan container dengan direktori host ter-mount, termasuk /, sehingga bisa mengubah berkas sistem. Untuk server yang dipakai bersama, lebih aman tetap memakai sudo atau membatasi akses lewat mekanisme lain.

Setelah instalasi

Langkah berikutnya biasanya menulis compose.yaml, bukan memasang database langsung ke host. Pola yang paling sederhana: satu service untuk aplikasi, satu untuk database, satu volume untuk data, dan port yang hanya diekspos ke jaringan internal. Dengan begitu, memindahkan aplikasi ke server lain berarti memindahkan berkas compose dan volume-nya, bukan mengulang seluruh instalasi.

Kalau server ini punya firewall, pastikan hanya port yang memang perlu terbuka — biasanya 80 dan 443 lewat reverse proxy, bukan port container secara langsung.

Penutup

Instalasi Docker di Ubuntu Server 24.04 tidak lebih dari empat hal: repository resmi, paket yang tepat, service yang aktif, dan satu container uji yang membuktikan semuanya berjalan. Sisanya adalah kebiasaan — memakai image resmi, menyimpan data di volume, dan tidak memasang aplikasi langsung ke host.


Referensi: Install Docker Engine on Ubuntu dan Docker Compose — dokumentasi resmi Docker.