Mahasiswi belajar Docker untuk pemula di perpustakaan kampus, layar laptop menampilkan terminal dengan perintah container berjalan.

Belajar Docker untuk Pemula 2026: Dari Instalasi Sampai Deploy Aplikasi Pertama

Belajar Docker untuk pemula adalah proses memahami cara mengemas aplikasi beserta seluruh dependensinya ke dalam container — unit yang bisa dijalankan secara konsisten di mesin mana pun, tanpa konflik environment.


“Di komputerku jalan, di server tidak.” Kalau kamu pernah mengucapkan atau mendengar kalimat ini, Docker adalah jawaban untuk masalah itu.

Belajar Docker untuk pemula terasa intimidatif di awal — banyak istilah baru, command line, dan konsep yang kelihatannya abstrak. Tapi begitu satu konsep klik, sisanya mengikuti dengan logis. Docker bukan teknologi yang sulit; yang sulit adalah menemukan titik masuk yang tepat.

Yang perlu diluruskan sejak awal: Docker Desktop — aplikasi GUI untuk Windows dan Mac — kini berbayar untuk penggunaan komersial di perusahaan dengan 250+ karyawan atau revenue di atas $10 juta. Untuk personal, belajar, dan bisnis kecil, tetap gratis. Docker Engine di Linux tidak terpengaruh perubahan lisensi ini dan sepenuhnya gratis.

Sebelum masuk ke Docker, pastikan kamu sudah punya fondasi dasar lewat belajar coding dari nol — Docker akan jauh lebih masuk akal kalau kamu sudah familiar dengan konsep terminal dan cara aplikasi bekerja.


Belajar Docker untuk Pemula: Container vs Virtual Machine

Ini pertanyaan pertama yang hampir selalu muncul. Keduanya mengisolasi environment, tapi dengan cara yang sangat berbeda.

Virtual Machine (VM) menjalankan sistem operasi penuh di atas sistem operasi host. Setiap VM butuh ratusan MB hingga beberapa GB hanya untuk OS-nya — belum aplikasinya.

Container tidak membawa OS sendiri. Container berbagi kernel OS host, tapi mengisolasi proses, filesystem, dan network-nya. Hasilnya: container bisa jalan dalam hitungan detik, bukan menit, dan ukurannya jauh lebih kecil.

AspekVirtual MachineDocker Container
Waktu start30 detik – beberapa menit< 1 detik
UkuranRatusan MB – beberapa GBPuluhan MB
IsolasiPenuh (termasuk OS)Proses & filesystem
PortabilitasTerbatasTinggi
Resource usageBeratRingan

Untuk development dan deployment aplikasi modern, container menang di hampir semua aspek. VM masih relevan untuk use case yang butuh isolasi OS penuh — misalnya menjalankan Windows di atas Linux host.

Dengan kata lain, Docker memberi kamu isolasi yang cukup tanpa overhead yang tidak perlu.


Tiga Konsep Inti yang Harus Dipahami Sebelum Install

Banyak tutorial langsung loncat ke instalasi tanpa menjelaskan tiga konsep ini. Akibatnya pemula hafal command tapi tidak mengerti apa yang sedang terjadi.

Image: Blueprint Aplikasimu

Docker image adalah template read-only yang berisi instruksi untuk membuat container. Analoginya: image adalah resep, container adalah masakan yang dihasilkan dari resep itu.

Image dibangun dari file bernama Dockerfile — teks instruksi yang mendeskripsikan OS base, dependensi yang diinstall, dan perintah yang dijalankan saat container start.

Container: Instance yang Berjalan

Container adalah instance yang berjalan dari sebuah image. Dari satu image, kamu bisa jalankan puluhan container secara bersamaan — masing-masing terisolasi, masing-masing punya state sendiri.

Container bersifat ephemeral — ketika container dihentikan dan dihapus, semua perubahan di dalamnya hilang, kecuali kamu menggunakan volume untuk persistensi data.

Registry: Tempat Menyimpan dan Berbagi Image

Docker Hub adalah registry publik default — tempat ribuan image siap pakai tersedia: Nginx, PostgreSQL, Node.js, Python, Redis, semuanya ada di sana. Kamu bisa pull image yang sudah ada atau push image buatanmu sendiri.


Instalasi Docker: Pilih Sesuai OS

Linux (Ubuntu/Debian) — cara yang direkomendasikan:

bash

# Hapus versi lama jika ada
sudo apt remove docker docker-engine docker.io containerd runc

# Install via repository resmi
sudo apt update
sudo apt install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

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

# Jalankan Docker tanpa sudo
sudo usermod -aG docker $USER
newgrp docker

Windows dan Mac: Download Docker Desktop dari docker.com. Pastikan baca syarat lisensi jika digunakan untuk keperluan komersial perusahaan besar.

Verifikasi instalasi berhasil:

bash

docker --version
docker run hello-world

Kalau muncul pesan “Hello from Docker!”, instalasi sukses.


Deploy Aplikasi Pertama: Node.js di Docker

Ini latihan yang paling representatif untuk pemula — membungkus aplikasi web sederhana ke dalam container dan menjalankannya.

Langkah 1 — Buat aplikasi sederhana:

javascript

// app.js
const http = require('http');
const server = http.createServer((req, res) => {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Halo dari Docker container!\n');
});
server.listen(3000, () => console.log('Server jalan di port 3000'));

Langkah 2 — Buat Dockerfile:

dockerfile

# Base image — Node.js versi LTS
FROM node:20-alpine

# Set working directory di dalam container
WORKDIR /app

# Copy file ke container
COPY app.js .

# Expose port yang digunakan aplikasi
EXPOSE 3000

# Perintah yang dijalankan saat container start
CMD ["node", "app.js"]

Langkah 3 — Build image:

bash

docker build -t aplikasi-pertama .

Flag -t memberi nama (tag) pada image. Titik di akhir berarti Dockerfile ada di direktori saat ini.

Langkah 4 — Jalankan container:

bash

docker run -p 3000:3000 aplikasi-pertama

Flag -p 3000:3000 memetakan port 3000 di container ke port 3000 di mesin hostmu. Buka browser, akses localhost:3000 — aplikasimu jalan di dalam container.


Command Docker yang Paling Sering Dipakai

bash

# Lihat container yang sedang berjalan
docker ps

# Lihat semua container (termasuk yang sudah berhenti)
docker ps -a

# Lihat semua image yang tersimpan
docker images

# Hentikan container
docker stop [container-id atau nama]

# Hapus container
docker rm [container-id atau nama]

# Hapus image
docker rmi [image-id atau nama]

# Masuk ke dalam container yang sedang berjalan
docker exec -it [container-id] bash

# Lihat log container
docker logs [container-id]

# Hapus semua container dan image yang tidak terpakai
docker system prune

Ayu, mahasiswi semester akhir jurusan Informatika, awalnya yakin Docker tidak relevan buat tugasnya — “itu kan buat yang sudah kerja.” Dia mulai belajar hanya karena dosen mewajibkan submit tugas dalam bentuk container. Tiga hari kemudian, dia justru yang paling cepat selesai di kelasnya, karena teman-temannya masih stuck di masalah “works on my machine” sementara container Ayu jalan identik di laptop dosen tanpa konfigurasi tambahan.


Tips Tambahan untuk Docker Pemula

Gunakan Alpine sebagai base imagenode:20-alpine jauh lebih kecil dari node:20 biasa (sekitar 50MB vs 350MB). Untuk production, ukuran image yang kecil berarti pull lebih cepat dan attack surface lebih kecil.

Manfaatkan layer caching — Docker menyimpan cache per instruksi di Dockerfile. Copy package.json dan jalankan npm install sebelum copy kode aplikasi — sehingga dependensi tidak diinstall ulang setiap kali ada perubahan kode kecil.

Jangan simpan secret di image — API key, password database, dan konfigurasi sensitif tidak boleh di-hardcode di Dockerfile atau di-copy ke dalam image. Gunakan environment variable atau Docker secrets.

.dockerignore itu penting — Sama seperti .gitignore, file ini mencegah file yang tidak perlu (node_modules, .env, .git) masuk ke dalam image. Ini mempercepat build dan menjaga image tetap bersih.


Setelah memahami Docker secara mandiri, langkah berikutnya yang natural adalah mempelajari cara mengelola banyak container sekaligus — dan di situlah Docker Compose dan akhirnya Kubernetes masuk. Kalau kamu juga ingin tahu bagaimana Docker diintegrasikan ke dalam pipeline deployment otomatis, CI/CD pipeline dengan GitHub Actions adalah bacaan yang langsung relevan setelah ini.


FAQ

Apakah Docker bisa dijalankan di komputer dengan RAM 4GB? Bisa, tapi pengalaman terbaik ada di 8GB ke atas — terutama kalau kamu menjalankan beberapa container bersamaan. Untuk belajar dengan satu atau dua container sederhana, 4GB sudah cukup.

Apa perbedaan docker run dan docker start? docker run membuat container baru dari image dan langsung menjalankannya. docker start menjalankan container yang sudah ada tapi sedang berhenti. Untuk pertama kali selalu pakai docker run.