Cheat Sheet Docker — Perintah & Compose

Perintah Docker dan Docker Compose yang paling sering kamu pakai tiap minggu, dijelaskan dalam satu baris. Atur image, container, port, dan service sekali saja — setiap perintah ikut berubah dan siap disalin.

Diperbarui
Nilai kamuSetiap contoh di bawah ikut berubah saat kamu mengetik

Gambar

10
docker pull node:22-alpine

Unduh image dari registry.

docker image ls

Tampilkan daftar image lokal beserta ukurannya.

docker build -t myapp:1.0 .

Build image dari Dockerfile di folder saat ini.

docker build -t myapp:1.0 -f Dockerfile.prod .

Build dengan Dockerfile yang berbeda.

docker build --no-cache -t myapp:1.0 .

Build ulang semua layer dari nol.

docker buildx build --platform linux/amd64,linux/arm64 -t ghcr.io/acme/myapp:1.0 --push .

Build untuk Intel dan ARM (misalnya Apple Silicon, Graviton) lalu push keduanya.

docker tag myapp:1.0 ghcr.io/acme/myapp:1.0

Beri image nama registry sebelum di-push.

docker push ghcr.io/acme/myapp:1.0

Unggah image ke registry.

docker history myapp:1.0

Tampilkan layer sebuah image dan ukuran tiap layer.

docker rmi myapp:1.0

berbahaya Hapus image lokal.

Jalankan container

8
docker run -d --name web -p 8080:3000 myapp:1.0

Jalankan di background dan publish port container {{cport}} ke port host {{hport}}.

docker run --rm -it node:22-alpine sh

Mulai shell interaktif sekali pakai; container otomatis dihapus saat kamu keluar.

docker run -d --restart unless-stopped --name web myapp:1.0

Restart otomatis setelah crash dan reboot.

docker run --env-file .env -e NODE_ENV=production myapp:1.0

Kirim environment variable dari file dan dari command line.

docker run -v app-data:/data myapp:1.0

Mount named volume agar data tetap ada setelah container dihapus.

docker run --rm -v "$(pwd)":/app -w /app node:22-alpine npm test

Mount folder saat ini lalu jalankan perintah di dalamnya.

docker run --memory 512m --cpus 1.5 myapp:1.0

Batasi memori dan CPU.

docker run -d --network app-net --name web myapp:1.0

Hubungkan ke user-defined network agar container saling terhubung lewat nama.

Kelola container

10
docker ps -a

Tampilkan semua container, termasuk yang sudah berhenti.

docker logs -f --tail 100 web

Ikuti 100 baris log terakhir.

docker exec -it web sh

Buka shell di container yang sedang berjalan (gunakan bash jika image-nya punya).

docker stop web

Hentikan dengan aman (SIGTERM, lalu SIGKILL setelah 10 detik).

docker restart web

Restart container.

docker cp web:/app/logs ./logs

Salin file dari dalam container (tukar argumennya untuk menyalin ke dalam).

docker stats

Pemakaian CPU, memori, network, dan disk secara langsung dari container yang berjalan.

docker inspect -f '{{.State.Health.Status}}' web

Baca satu field dari detail container — di sini status health-check.

docker port web

Tampilkan port host mana yang dipetakan ke container.

docker rm -f web

berbahaya Hentikan lalu hapus container.

Docker Compose

12
docker compose up -d

Jalankan semua service di background.

docker compose up -d --build

Build ulang image, lalu jalankan.

docker compose ps

Tampilkan service beserta statusnya.

docker compose logs -f api

Ikuti log satu service.

docker compose exec api sh

Buka shell di service yang sedang berjalan.

docker compose run --rm api npm run migrate

Jalankan perintah sekali pakai di container baru untuk sebuah service.

docker compose restart api

Restart satu service.

docker compose pull

Tarik image terbaru untuk semua service.

docker compose config

Validasi file dan tampilkan konfigurasi akhir yang sudah digabung.

docker compose -f compose.yml -f compose.prod.yml up -d

Tumpuk file override di atas file dasar.

docker compose down

Hentikan dan hapus container serta network (volume tetap disimpan).

docker compose down -v

berbahaya Hapus juga volume — database kamu ikut hilang.

Volume & network

6
docker volume ls

Tampilkan daftar volume.

docker volume inspect app-data

Tampilkan lokasi volume di host.

docker run --rm -v app-data:/data -v "$(pwd)":/backup alpine tar czf /backup/app-data.tar.gz -C /data .

Backup volume ke .tar.gz di folder saat ini.

docker network create app-net

Buat network untuk container yang perlu saling berkomunikasi.

docker network connect app-net web

Hubungkan container yang sedang berjalan ke network.

docker volume rm app-data

berbahaya Hapus volume beserta datanya.

Bersihkan ruang disk

5
docker system df

Tampilkan berapa banyak ruang yang dipakai image, container, volume, dan build cache.

docker builder prune

Hapus build cache yang tidak terpakai.

docker image prune -a

berbahaya Hapus semua image yang tidak dipakai container.

docker system prune

berbahaya Hapus container yang berhenti, network yang tidak terpakai, image dangling, dan build cache.

docker system prune -a --volumes

berbahaya Hapus semua yang tidak terpakai, termasuk volume. Pilihan terakhir.

Debugging

5
docker run --rm -it --entrypoint sh myapp:1.0

Jalankan image dengan shell, bukan perintah normalnya — untuk image yang crash saat start.

docker logs web 2>&1 | grep -i error

Cari di log container (stdout dan stderr).

docker exec web env

Tampilkan environment variable yang benar-benar dilihat container.

docker compose exec api wget -qO- localhost:3000/health

Panggil endpoint health dari dalam service.

docker events --since 10m

Alirkan event Docker terbaru: start, stop, OOM kill, perubahan health.

Data kamu tidak pernah meninggalkan komputer kamu. Semua proses berjalan 100% secara lokal di browser kamu.

Apakah alat ini membantu?0.0 0 penilaian
Buat compose.yaml untuk NodePython, Postgres, MySQL, MongoDB, Redis, Nginx, WordPress & lainnya.Generator Docker Compose →

Cara menggunakan Cheat Sheet Docker

  1. Isi nilai kamu sendiri (image, container, port, service) di kotak bagian atas — setiap contoh di halaman ini langsung ikut berubah.
  2. Cari atau langsung lompat ke bagian untuk menemukan perintah yang kamu butuhkan.
  3. Klik Salin untuk menyalin satu baris perintah yang siap dijalankan, atau Salin bagian untuk blok perintah beserta komentarnya.
  4. Perintah bertanda berbahaya akan menghapus atau menimpa data — baca catatannya sebelum menjalankannya.

Image, container, volume dan network

Sebuah image adalah filesystem dan perintah start yang sudah dikemas, dibangun dari Dockerfile. Container adalah salinan image yang sedang berjalan. Semua yang ditulis container akan hilang saat dihapus, kecuali disimpan di volume. Container dalam network buatan sendiri (user-defined) bisa saling mengakses lewat nama, dan begitulah service Compose berkomunikasi dengan database-nya.

Membaca -p dan -v

Kedua flag ini berformat host:container. -p 8080:3000 berarti “request ke port 8080 di mesin saya diteruskan ke port 3000 di dalam container”. -v app-data:/data me-mount named volume app-data ke /data; -v "$(pwd)":/app me-mount folder saat ini, dan cara ini dipakai agar kode langsung ter-reload saat development.

Menjaga image tetap kecil dan build tetap cepat

  • Mulai dari base yang ringan seperti -alpine atau -slim, dan gunakan multi-stage build agar compiler tidak ikut ke production.
  • Salin file dependency dan install sebelum menyalin sisa kode, supaya layer install tetap ter-cache.
  • Tambahkan .dockerignore untuk node_modules, .git, dan output build.

Buat file Compose dengan generator Docker Compose, dan siapkan CI dengan generator GitHub Actions.

Juga dicari sebagai: perintah docker, perintah docker compose, daftar perintah docker, docker run, docker exec, docker prune, referensi docker.

Tool yang cocok dipakai bersama Cheat Sheet Docker

  • Cheat Sheet Perintah Linux — Perintah Linux dan bash yang dipakai developer di server dan laptop: file, pencarian, izin, proses, log, jaringan, dan SSH.
  • Git Cheat Sheet — Setiap perintah Git yang kamu pakai sehari-hari, dan yang kamu butuhkan saat ada yang salah, dijelaskan dalam satu baris.
  • Generator Config Nginx — Pilih apa yang harus dilakukan Nginx: menyajikan situs statis atau SPA, meneruskan ke aplikasi Node/Python, atau menjalankan PHP, lalu centang fitur tambahannya.
  • Prompt AI untuk Developer — Prompt yang sudah teruji untuk tugas coding harianmu: debug, review, test, refactor, SQL, pesan commit, dan dokumentasi.

Pertanyaan yang sering diajukan

Apa bedanya image dan container?
Image adalah template read-only yang dibangun dari Dockerfile. Container adalah instance image yang sedang berjalan (atau sudah berhenti) dengan writable layer sendiri. Satu image bisa dijalankan sebagai banyak container.
Bagaimana cara membebaskan ruang disk yang dipakai Docker?
Cek pemakaiannya dengan docker system df, lalu hapus build cache dengan docker builder prune dan image yang tidak terpakai dengan docker image prune -a. docker system prune menghapus lebih banyak sekaligus — baca dulu apa yang akan dihapus.
Yang benar docker compose atau docker-compose?
Gunakan docker compose (dengan spasi). Ini adalah Compose v2, sudah termasuk di Docker CLI. Tool docker-compose v1 yang terpisah sudah deprecated.
Kenapa container saya tidak bisa saling terhubung?
Container di default bridge network tidak bisa saling mengenali lewat nama. Pindahkan ke user-defined network (docker network create) atau project Compose yang sama, lalu gunakan nama service atau container sebagai hostname.
Bisakah saya memasang Cheat Sheet Docker sebagai aplikasi web dan memakainya offline?
Bisa. Cheat Sheet Docker adalah aplikasi web (PWA) yang bisa dipasang. Pemasangannya lewat browser kamu, bukan diunduh dari toko aplikasi. Klik Pasang aplikasi di bagian atas halaman ini di Chrome atau Edge (Windows, macOS, Linux, ChromeOS) atau di Android. Di iPhone dan iPad, gunakan Bagikan → Tambahkan ke Layar Utama, dan di Safari 17+ pada Mac, gunakan File → Tambahkan ke Dock. Setelah itu, aplikasi akan terbuka di jendelanya sendiri dengan ikonnya sendiri. Karena berjalan sepenuhnya di browser kamu, aplikasi ini tetap bisa dipakai offline. Firefox di desktop tidak bisa memasang aplikasi web. Cara memasang aplikasi.

Tool terkait