Bagi para profesional di bidang IT seperti developer, DevOps engineer, dan sysadmin, Docker adalah fondasi penting dalam dunia modern containerization.
Popularitas Docker sebagai platform kontainer tidak terbantahkan karena kemampuannya menjalankan aplikasi secara konsisten di berbagai environment.
Namun, proses instalasi Docker bisa berbeda tergantung sistem operasi yang digunakan. Karena itu, di artikel ini kita akan mengupas tuntas cara install Docker di berbagai distro Linux populer seperti Ubuntu, Debian, Rocky Linux 8/9, RHEL 8/9, CentOS 8/9, openSUSE, Fedora, hingga SUSE Linux Enterprise (SLES).
Panduan ini cocok untuk kamu yang mengelola infrastruktur cloud seperti Alibaba Cloud, AWS, DigitalOcean, hingga Bare Metal lokal.
Table of Contents
Apa Itu Docker?
Docker adalah tools platform open-source yang memungkinkan developer dan sysadmin mengemas, mendistribusikan, dan menjalankan aplikasi dalam container. Container ini ringan, cepat, dan terisolasi dari sistem host.
Docker digunakan dalam berbagai use case mulai dari pengembangan aplikasi, continuous integration, hingga deployment ke production.
Prasyarat Umum Instalasi Docker
Hardware Minimal
- CPU: 2 Core
- RAM: 2 GB minimum
- Storage: 10+ GB
Software Prasyarat
- Kernel Linux 3.10+
- Akses root atau sudo
- Akses Internet
Panduan Lengkap Instalasi Docker di Berbagai Distribusi Linux
Berikut adalah panduan langkah demi langkah untuk install Docker Linux pada berbagai distribusi yang umum digunakan oleh para profesional. Pastikan Anda menjalankan perintah sebagai pengguna dengan hak sudo atau sebagai root.
1. Install Docker di Ubuntu dan Debian Linux
Ubuntu dan Debian sangat populer di kalangan developer, sysadmin maupun devops, karena memiliki kemiripan sama sama menggunakan paket manager APT dan juga ekstensi format file .deb
Pada panduan ini, instalasi docker dengan Sistem Operasi Linux Ubuntu dan Debian dengan list versi berikut:
- Ubuntu versi 20.04, 22.04 dan 24.04
- Debian versi 11 dan 12
1.1 Persiapan instalasi dan Instal Dependensi
Langkah pertama adalah memastikan list package sistem anda sudah yang terbaru, lalu instal package-package yang diperlukan docker serta dapat mengunduh package melalui https.
Buka terminal dan jalankan perintah berikut.
sudo apt update
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
1.2 Tambahkan GPG Key
Tambahkan GPG key docker, lalu Import GPG key resmi dari docker untuk memverifikasi package yang akan di unduh.
Untuk Ubuntu:
Jalankan perintah dibawah ini:
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
Untun Debian:
Jalankan copy/paste perintah berikut:
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
1.3 Tambahkan Docker Repository APT
Tambahkan repository Docker ke folder yang berlokasi pada path /etc/apt/sources.list.d package APT, dan sesuaikan command dengan distribusi linux “codename”.
Untuk Ubuntu:
Jalankan perintah dibawah ini:
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
Untuk Debian:
Sesuaikan kode rilis “codename” distribusi linux debian, misalnya : bullseye atau bookworm.
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
1.4 Perbaharui list APT Package
Setelah menambahkan repository docker, anda perlu melakukan refresh package APT agar dependensi docker dapat diinstal.
sudo apt update
1.5 Install Docker Engine
Install Docker Engine, CLI, containerd dan Docker Compose Plugin dengan cara menjalankan perintah berikut di terminal anda:
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
1.6 Mengelola Service Docker
Setelah berhasil instal docker, maka selanjutnya adalah mengaktifkan service “systemd” docker dan periksa service docker berjalan normal dengan perintah berikut:
sudo systemctl start docker
sudo systemctl status docker
Output result “service docker”:
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: enabled)
Active: active (running) since Fri 2025-05-09 18:10:50 UTC; 59s ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 57842 (dockerd)
Tasks: 9
Memory: 52.1M ()
CPU: 276ms
CGroup: /system.slice/docker.service
└─57842 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
1.7 Aktifkan Service Docker “Boot”
Untuk memastikan service docker berjalan secara otomatis setelah sistem di reboot “restart”, jalankan perintah berikut:
sudo systemctl enable docker
Output result:
Synchronizing state of docker.service with SysV service script with /usr/lib/systemd/systemd-sysv-install.
Executing: /usr/lib/systemd/systemd-sysv-install enable docker
1.8 Verifikasi Instalasi Docker
Setelah instalasi selesai, terakhir lakukan verifikasi bahwa docker telah terinstal dengan benar pada perintah berikut:
sudo docker version
Output result:
Client: Docker Engine - Community
Version: 28.1.1
API version: 1.49
Go version: go1.23.8
Git commit: 4eba377
Built: Fri Apr 18 09:52:14 2025
OS/Arch: linux/amd64
Context: default
Server: Docker Engine - Community
Engine:
Version: 28.1.1
API version: 1.49 (minimum version 1.24)
Go version: go1.23.8
Git commit: 01f442b
Built: Fri Apr 18 09:52:14 2025
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.7.27
GitCommit: 05044ec0a9a75232cad458027ca83437aae3f4da
runc:
Version: 1.2.5
GitCommit: v1.2.5-0-g59923ef
docker-init:
Version: 0.19.0
GitCommit: de40ad0
2. Install Docker di Redhat, Rocky Linux, Alma Linux, Fedora dan CentOS Stream
Pada dasarnya turunan RHEL ya mirip mirip seperti package manager menggunakan dnf dan juga file package ekstensi yang berformat .rpm.
Namun untuk fedora agak sedikit berbeda repository dan instalasi nya menggunakan dnf-3.
untuk itu instalasi docker pada turunan RHEL dengan list versi OS berikut:
- Redhat Enterprise Linux versi 8 dan 9
- Fedora versi 40 dan 41
- Rocky Linux versi 8 dan 9
- Alma Linux versi 8 dan 9
- CentOS Stream 8 dan 9
2.1 Install Dependensi DNF Tools
Sebelum memulai, anda perlu menginstal tools dnf-utils sebagai pendukung untuk instalasi docker dengan menjalankan perintah berikut:
Untuk RHEL (Redhat Enterprise Linux, Rocky Linux, Alma Linux, dan CentOS Stream)
Jalankan perintah dibawah:
sudo dnf install -y dnf-utils
Untuk Fedora
Jalankan perintah berikut:
sudo dnf install -y dnf-plugins-core
2.2 Hapus versi Lama (Optional)
Sebelum menginstal Docker Engine, Anda perlu menghapus paket yang conflict, ini sering terjadi pada distribusi Redhat Enterprise Linux dan tidak terjadi pada turunan RHEL lainya.
Distribusi RHEL mungkin menyediakan paket Docker tidak resmi, yang mungkin conflict sama package yang disediakan oleh Docker. Anda harus menghapus paket-paket ini sebelum menginstal versi resmi Docker Engine.
sudo dnf remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine \
podman \
buildah \
runc
2.3 Menambahkan Docker Repositori RPM
Tambahkan repository Docker CE (Community Edition). meskipun ya kita menginstal pada distribusi berbasis Red Hat, tapi untuk CentOS stream ini juga support.
Untuk RHEL (Redhat Enterprise Linux, Rocky Linux, Alma Linux, dan CentOS Stream)
Jalankan perintah dibawah:
sudo dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo
Untuk Fedora
Jalankan perintah berikut:
sudo dnf-3 config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo
2.4 Menginstal Docker Enginer di RHEL
Instal Docker Engine, CLI, containerd, dan Docker Compose Plugin dengan cara menjalankan perintah ini:
sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Untuk OS Fedora akan muncul verifikasi GPG key seperti dibawah, tekan huruf y lalu tekan enter.
Importing PGP key 0x621E9F35:
UserID : "Docker Release (CE rpm) <[email protected]>"
Fingerprint: 060A61C51B558A7F742B77AAC52FEB6B621E9F35
From : https://download.docker.com/linux/fedora/gpg
Is this ok [y/N]: y
2.5 Aktifkan dan jalankan service docker
Setelah berhasil instal docker, selanjutnya anda perlu mengaktifkan service docker dan juga periksa status service docker dengan menjalankan perintah ini.
sudo systemctl start docker
sudo systemctl status docker
Output result:
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: disabled)
Drop-In: /usr/lib/systemd/system/service.d
└─10-timeout-abort.conf
Active: active (running) since Fri 2025-05-09 17:05:25 UTC; 19s ago
Invocation: 69e751a101024991b48bbe99d1206dd9
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 3501 (dockerd)
Tasks: 9
Memory: 66.2M (peak: 67.6M)
CPU: 548ms
CGroup: /system.slice/docker.service
└─3501 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
2.6 Aktifkan Docker pada saat “Boot”
Agar service berjalan pada saat boot “restart”, anda perlu mengaktifkan dengan perintah dibawah:
sudo systemctl enable --now docker
2.7 Verifikasi versi Docker
Terakhir lakukan verifikasi instalasi dengan melihat versi docker dengan menjalankan perintah berikut:
sudo docker version
3. Install Docker di openSUSE dan Suse Linux Enterprise
Ya walaupun menggunakan format file yang sama, akan tetapi instalasi docker pada distribusi SUSE memiliki perbedaan yang terletak pada repositori dan package manager zypper.
Pada panduan instalasi docker pada distribusi OpenSUSE dan SLES dengan list versi berikut:
- OpenSUSE versi 15 (Leap)
- Suse Linux Enterprise versi 15 SP1
3.1 Instalasi Docker OpenSUSE 15
Secara default Opensuse Leap versi 15 sudah menyediakan repositori docker, jadi anda tidak perlu menambahkan repositori docker tersebut, dan jalankan perintah berikut untuk instalasinya:
sudo zypper install docker docker-compose docker-compose-switch
3.2 Instalasi Docker SLES 15
Jalankan perintah dibawah untuk instalasi docker di SUSE 15 SP 1.
sudo zypper install docker
Catatan:
Jika pada saat instalasi docker gagal, maka anda perlu mengaktifkan module container dengan cara dibawah, setelah itu instal kembali.
sudo SUSEConnect -p sle-module-containers/15.1/x86_64
3.4 Jalankan dan periksa service Docker
Jalankan perintah dibawah untuk mengaktifkan dan juga memeriksa status service docker berjalan normal:
sudo systemctl start docker
sudo systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; preset: disabled)
Active: active (running) since Fri 2025-05-09 17:31:17 UTC; 7s ago
TriggeredBy: ● docker.socket
Docs: http://docs.docker.com
Main PID: 9059 (dockerd)
Tasks: 20
CPU: 447ms
CGroup: /system.slice/docker.service
├─9059 /usr/bin/dockerd --add-runtime oci=/usr/sbin/runc
└─9067 containerd --config /var/run/docker/containerd/containerd.toml --log-level warn
3.5 Aktifkan service Docker pada saat “Boot”
Jalankan perintah dibawah untuk menjalan docker pada saat server direstart, agar docker berjalan secara otomatis:
sudo systemctl enable --now docker
3.6 Check dan periksa versi Docker
Periksa versi dan pastikan docker telah terinstal dengan normal dengan perintah dibawah:
sudo docker version
4. Post-Installation Setup (Berlaku untuk Semua Distro)
Setelah berhasil install Docker Linux pada distribusi Linux pilihan Anda, terdapat beberapa konfigurasi pasca-instalasi yang sangat direkomendasikan untuk meningkatkan pengalaman penggunaan dan keamanan.
4.1 Menambahkan Pengguna ke Group Docker
Secara bawaan, perintah docker
hanya dapat dijalankan oleh pengguna root atau pengguna dengan hak sudo. Untuk menghindari penggunaan sudo
setiap kali menjalankan perintah Docker, Anda dapat menambahkan pengguna Anda ke grup docker
.
sudo usermod -aG docker $USER
newgrp docker
Untuk spesifik user, anda bisa juga menambahkan dengan perintah dibawah.
# Add a specific user
sudo usermod -a -G docker custom-user
Setelah menjalankan perintah ini, Anda perlu logout dan login kembali agar perubahan grup dapat diterapkan. Sekarang, Anda dapat menjalankan perintah docker
tanpa menggunakan sudo
.
4.2 Uji Coba Docker
Docker menjalankan aplikasi menggunakan container image di OS anda. Ikuti langkah-langkah di bawah ini untuk menggunakan Docker CLI. contoh lakukan pull image docker hello-world dari registri Docker Hub.
sudo docker run hello-world
Output result:
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
e6590344b1a5: Pull complete
Digest: sha256:c41088499908a59aae84b0a49c70e86f4731e588a737f1637e73c8c09d995654
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
4.3 Mengaktifkan dan Menonaktifkan Docker
Perintah untuk menonaktifkan docker
sudo systemctl stop docker
Perintah untuk mengaktifkan docker
sudo systemctl start docker
Perintah untuk merestart docker
sudo systemctl restart docker
4.4 Perintah Docker yang tersedia
Jika anda ingin melihat perintah apa saja yang tesedia pada docker, jalankan perintah berikut untuk melihat command command tersebut.
sudo docker --help
Output result:
Usage: docker [OPTIONS] COMMAND
A self-sufficient runtime for containers
Common Commands:
run Create and run a new container from an image
exec Execute a command in a running container
ps List containers
build Build an image from a Dockerfile
bake Build from a file
pull Download an image from a registry
push Upload an image to a registry
images List images
login Authenticate to a registry
logout Log out from a registry
search Search Docker Hub for images
version Show the Docker version information
info Display system-wide information
Management Commands:
builder Manage builds
buildx* Docker Buildx
compose* Docker Compose
container Manage containers
context Manage contexts
image Manage images
manifest Manage Docker image manifests and manifest lists
network Manage networks
plugin Manage plugins
system Manage Docker
trust Manage trust on Docker images
volume Manage volumes
Swarm Commands:
swarm Manage Swarm
Commands:
attach Attach local standard input, output, and error streams to a running container
commit Create a new image from a container's changes
cp Copy files/folders between a container and the local filesystem
create Create a new container
diff Inspect changes to files or directories on a container's filesystem
events Get real time events from the server
export Export a container's filesystem as a tar archive
history Show the history of an image
import Import the contents from a tarball to create a filesystem image
inspect Return low-level information on Docker objects
kill Kill one or more running containers
load Load an image from a tar archive or STDIN
logs Fetch the logs of a container
pause Pause all processes within one or more containers
port List port mappings or a specific mapping for the container
rename Rename a container
restart Restart one or more containers
rm Remove one or more containers
rmi Remove one or more images
save Save one or more images to a tar archive (streamed to STDOUT by default)
start Start one or more stopped containers
stats Display a live stream of container(s) resource usage statistics
stop Stop one or more running containers
tag Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
top Display the running processes of a container
unpause Unpause all processes within one or more containers
update Update configuration of one or more containers
wait Block until one or more containers stop, then print their exit codes
Global Options:
--config string Location of client config files (default "/root/.docker")
-c, --context string Name of the context to use to connect to the daemon (overrides DOCKER_HOST env var and default context set with "docker context use")
-D, --debug Enable debug mode
-H, --host list Daemon socket to connect to
-l, --log-level string Set the logging level ("debug", "info", "warn", "error", "fatal") (default "info")
--tls Use TLS; implied by --tlsverify
--tlscacert string Trust certs signed only by this CA (default "/root/.docker/ca.pem")
--tlscert string Path to TLS certificate file (default "/root/.docker/cert.pem")
--tlskey string Path to TLS key file (default "/root/.docker/key.pem")
--tlsverify Use TLS and verify the remote
-v, --version Print version information and quit
Run 'docker COMMAND --help' for more information on a command.
For more help on how to use Docker, head to https://docs.docker.com/go/guides/
Detail pengguan pada dokumentasi official docker pada link berikut:
https://docs.docker.com/go/guides/
Kesimpulan
Instalasi Docker di Linux tidak harus rumit. Dengan panduan ini, kamu bisa dengan cepat melakukan deployment Docker di berbagai distribusi Linux yang digunakan secara luas oleh developer maupun tim DevOps.
silakan tinggalkan komentar atau subscribe blog www.dika.dev.
Referensi: