Kembali ke Artikel

Apa Itu Docker dan Cara Install Docker di Ubuntu & Windows

Solusi IT

Docker adalah platform untuk mengemas aplikasi beserta semua dependensinya ke dalam satu paket yang disebut container. Container ini bisa jalan di mana saja dengan perilaku yang sama persis: di laptop kamu, di laptop teman satu tim, sampai di server produksi. Artikel ini adalah bagian pertama dari seri Belajar Docker dari Nol. Kita mulai dari dua hal paling dasar: paham kenapa Docker ada, lalu praktik cara install Docker di Ubuntu dan Windows sampai benar-benar bisa dipakai.

Ringkasnya begini. Di Ubuntu, Docker Engine versi 27.x diinstall lewat repositori resmi apt dari download.docker.com. Di Windows, kamu install Docker Desktop yang berjalan di atas WSL2. Setelah terpasang, verifikasi dengan docker run hello-world. Detail tiap langkah kita bahas di bawah, termasuk error yang paling sering bikin pemula nyangkut.

Masalah Klasik “Di Laptop Saya Jalan Kok”

Hampir semua developer pernah mengalami ini. Aplikasi jalan mulus di laptop, begitu dideploy ke server langsung error. Penyebabnya macam-macam. Versi PHP di server beda dengan di laptop. Ekstensi yang dibutuhkan belum terpasang. Versi Node atau Go tidak sama. Library sistem yang di laptop ada, di server tidak ada.

Cara deploy manual di VPS memperbesar peluang masalah ini. Alurnya biasanya begini: sewa VPS, SSH masuk, install runtime satu per satu, install database, atur konfigurasi, baru upload kode. Setiap langkah dikerjakan tangan, dan setiap server bisa berakhir dengan kondisi yang sedikit berbeda. Server seperti ini sering disebut snowflake server, tidak ada dua yang benar-benar identik. Saat aplikasi harus pindah server atau tim bertambah orang, proses setup harus diulang dari nol dan hasilnya belum tentu sama.

Container lahir untuk memotong masalah itu. Aplikasi, runtime, library, dan konfigurasi dikemas jadi satu unit bernama image. Dari image itu kamu menjalankan container, dan container tersebut membawa lingkungannya sendiri ke mana pun dia jalan. Kalau container jalan di laptop, dia akan jalan dengan cara yang sama di server. Beda dengan virtual machine, container tidak membawa sistem operasi utuh. Container berbagi kernel dengan host, jadi ukurannya jauh lebih kecil dan startup-nya hitungan detik, bukan menit.

Di tim Arrazy, hampir semua proyek klien berjalan di atas Docker, dari backend Go, aplikasi Laravel, sampai database di server klien. Alasannya sederhana: environment developer dan server produksi jadi seragam, dan onboarding anggota tim baru cukup dengan satu perintah, bukan setengah hari install dependensi. Pola yang sama juga kami pakai saat membangun sistem aplikasi untuk klien yang servernya kami kelola.

Prasyarat: Nyaman di Terminal Dulu

Seri ini banyak bermain di terminal. Kamu tidak perlu jago, tapi minimal paham perintah dasar seperti cd, ls, sudo, dan cara SSH ke server. Kalau bagian itu masih asing, selesaikan dulu bagian dasar shell dan SSH di seri Belajar Linux dari Nol, baru lanjut ke sini. Percaya deh, belajar Docker tanpa dasar terminal itu seperti belajar nyetir sambil belajar baca rambu.

Kebutuhan sistemnya:

  • Ubuntu: versi 22.04 (Jammy) atau 24.04 (Noble), arsitektur 64-bit. VPS atau laptop sama saja.
  • Windows: Windows 10 64-bit versi 22H2 ke atas atau Windows 11, dengan fitur virtualisasi aktif di BIOS. RAM 8 GB sangat disarankan.

Cara Install Docker di Ubuntu Lewat Repo Resmi apt

Ubuntu punya paket docker.io di repo bawaan, tapi versinya sering tertinggal. Kita pakai repo resmi Docker supaya dapat Docker Engine 27.x yang terbaru beserta plugin Compose dan Buildx.

1. Bersihkan Paket Lama dan Siapkan Dependensi

Kalau sebelumnya pernah coba-coba install Docker dari repo bawaan, hapus dulu supaya tidak bentrok:

for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done

Kalau paketnya memang tidak ada, apt hanya bilang paket tidak terpasang. Aman, lanjut saja. Lalu update index dan install alat bantu:

sudo apt-get update
sudo apt-get install ca-certificates curl

2. Tambahkan GPG Key dan Repositori Docker

GPG key dipakai apt untuk memastikan paket yang diunduh benar-benar dari Docker, bukan dari pihak lain:

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

Lalu daftarkan repositorinya:

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

Perintah di atas otomatis mendeteksi arsitektur dan kode nama Ubuntu kamu, jadi bisa dicopy apa adanya.

3. Install Docker Engine dan Plugin-nya

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

Lima paket itu isinya: daemon Docker (docker-ce), perintah docker di terminal (docker-ce-cli), runtime container (containerd.io), plus plugin build dan Compose yang akan kita pakai di bagian-bagian berikutnya seri ini. Setelah selesai, service Docker otomatis jalan. Cek versinya:

docker --version

Output yang diharapkan kurang lebih seperti ini:

Docker version 27.5.1, build 9f9e405

Angka minor dan build bisa beda tergantung rilis terbaru saat kamu install. Yang penting versi mayornya 27 ke atas.

Cara Install Docker di Windows: Docker Desktop dan WSL2

Docker butuh kernel Linux. Di Windows, kebutuhan itu dipenuhi lewat WSL2 (Windows Subsystem for Linux versi 2), lalu Docker Desktop jalan di atasnya. Urutannya: aktifkan WSL2 dulu, baru install Docker Desktop.

1. Aktifkan WSL2

Buka PowerShell sebagai Administrator (klik kanan, Run as administrator), lalu jalankan:

wsl --install

Perintah ini mengaktifkan fitur WSL, mengunduh kernel Linux, menjadikan WSL2 sebagai default, dan menginstall distro Ubuntu. Setelah selesai, restart komputer. Kalau WSL sudah pernah terpasang, pastikan versinya 2 dengan wsl --status dan update dengan wsl --update.

2. Install Docker Desktop

  1. Unduh installer dari https://docs.docker.com/desktop/setup/install/windows-install/, pilih yang x86_64.
  2. Jalankan Docker Desktop Installer.exe. Saat muncul pilihan backend, pastikan opsi Use WSL 2 instead of Hyper-V tercentang.
  3. Selesaikan instalasi, logout atau restart bila diminta, lalu buka aplikasi Docker Desktop.

Tunggu sampai indikator di pojok kiri bawah Docker Desktop berwarna hijau dengan status Engine running. Setelah itu semua perintah docker bisa kamu jalankan dari PowerShell maupun dari terminal Ubuntu di WSL. Sepanjang seri ini perintahnya sama persis untuk Ubuntu asli maupun WSL, jadi pengguna Windows tidak perlu artikel terpisah.

Verifikasi Instalasi: docker version, docker info, hello-world

Ada tiga pengecekan standar setelah install. Pertama, docker version (tanpa tanda strip). Bedanya dengan docker --version, perintah ini menampilkan versi client sekaligus server. Kalau bagian Server muncul, artinya daemon Docker hidup dan bisa diajak bicara:

docker version
Client: Docker Engine - Community
 Version:           27.5.1
 ...
Server: Docker Engine - Community
 Engine:
  Version:          27.5.1
 ...

Kedua, docker info untuk melihat kondisi keseluruhan: jumlah container, jumlah image, storage driver, dan lainnya. Untuk instalasi baru, nilai Containers dan Images masih 0.

Ketiga, tes paling memuaskan: jalankan container pertamamu.

docker run hello-world

Output yang diharapkan:

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
e6590344b1a5: Pull complete
Digest: sha256:...
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

Perhatikan alurnya, karena ini inti kerja Docker: image hello-world tidak ada di lokal, jadi Docker mengunduhnya dari Docker Hub, membuat container dari image itu, menjalankannya, lalu container mencetak pesan dan berhenti. Konsep image dan container ini kita bedah tuntas di bagian 2.

Jalankan Docker Tanpa sudo: usermod -aG docker

Di Ubuntu, daemon Docker jalan sebagai root dan socket-nya hanya bisa diakses root serta anggota grup docker. Karena itu, secara default setiap perintah harus diawali sudo. Capek kalau tiap perintah begitu. Solusinya, masukkan user kamu ke grup docker:

sudo usermod -aG docker $USER

Keanggotaan grup baru terbaca setelah kamu logout dan login lagi. Kalau tidak mau logout, jalankan newgrp docker untuk membuka shell baru dengan grup yang sudah aktif. Tes tanpa sudo:

docker run hello-world

Kalau pesan Hello from Docker muncul tanpa error, beres. Satu catatan penting: anggota grup docker pada praktiknya setara root di mesin itu, karena bisa me-mount filesystem host lewat container. Di laptop pribadi ini bukan masalah. Di server produksi yang dipakai banyak orang, pikirkan dulu siapa saja yang dimasukkan ke grup ini. Pengguna Docker Desktop di Windows tidak perlu langkah ini sama sekali.

Troubleshooting: Error yang Sering Muncul Saat Install Docker

permission denied while trying to connect to /var/run/docker.sock

Pesan lengkapnya kurang lebih: permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock. Penyebabnya user kamu belum masuk grup docker, atau sudah dimasukkan tapi belum logout-login. Solusi: jalankan sudo usermod -aG docker $USER, lalu logout dan login lagi. Cek dengan perintah groups, pastikan kata docker muncul di daftarnya.

WSL2 Belum Aktif: “Docker Desktop requires a newer WSL kernel”

Docker Desktop menolak jalan dan menyuruh update WSL. Ini terjadi karena WSL belum terpasang, masih versi 1, atau kernelnya usang. Buka PowerShell sebagai Administrator lalu jalankan wsl --update dan wsl --set-default-version 2, kemudian restart Docker Desktop. Kalau masih gagal, cek apakah virtualisasi aktif: buka Task Manager, tab Performance, lihat baris Virtualization. Kalau statusnya Disabled, aktifkan Intel VT-x atau AMD-V dari BIOS/UEFI.

Unable to locate package docker-ce

Muncul saat apt-get install docker-ce di Ubuntu. Artinya repositori Docker belum benar-benar terdaftar. Biasanya karena lupa menjalankan sudo apt-get update setelah menambah repo, atau file /etc/apt/sources.list.d/docker.list isinya salah karena perintah echo tadi tidak tercopy utuh. Cek isi file itu dengan cat, pastikan ada satu baris berisi kode nama Ubuntu kamu (misalnya noble), lalu ulangi sudo apt-get update.

Cannot connect to the Docker daemon. Is the docker daemon running?

Perintah docker jalan tapi daemon-nya mati. Di Ubuntu, nyalakan dengan sudo systemctl start docker dan supaya otomatis hidup saat boot jalankan sudo systemctl enable docker. Di Windows, error ini biasanya berarti aplikasi Docker Desktop belum dibuka. Buka dulu, tunggu status Engine running, baru jalankan perintah dari terminal.

Sudah Terinstall, Selanjutnya Apa

Sampai sini kamu sudah paham masalah yang diselesaikan container, punya Docker Engine 27.x yang jalan di Ubuntu atau Docker Desktop di Windows, dan sudah menjalankan container pertama tanpa sudo. Fondasi selesai.

Di bagian 2, “Perbedaan Docker Image dan Container + Praktik Pertama”, kita bongkar konsep paling penting di Docker: apa itu image, apa itu container, dan kenapa keduanya sering tertukar di kepala pemula. Artikelnya terbit menyusul, pantau daftarnya di halaman hub Belajar Docker dari Nol.

Referensi

Ingin Membaca Artikel Lainnya?

Temukan lebih banyak insight dan tips tentang teknologi dan bisnis digital.

Lihat Semua Artikel