Skip to content

Docker Essentials Cheatsheet

Cheatsheet ini berisi command Docker yang paling sering dipakai untuk local development dan pekerjaan sehari-hari. Gunakan course Docker Essentials jika membutuhkan penjelasan konsep dan praktik yang lebih lengkap.

Image Command

No.Format CommandContoh CommandKeterangan
1docker pull <image>:<tag>docker pull nginx:1.27Mengambil image ke mesin lokal. Command ini tidak menjalankan container.
2docker imagesdocker imagesMenampilkan image yang tersedia di mesin lokal.
3docker build -t <nama-image>:<tag> <build-context>docker build -t hello-web:1.0 .Membuat image dari Dockerfile. Tanda . berarti folder saat ini digunakan sebagai build context.
4docker tag <image-lokal>:<tag-lokal> <nama-image-baru>:<tag-baru>docker tag hello-web:1.0 bagus/hello-web:1.0Membuat nama atau tag tambahan untuk image yang sama. Command ini tidak membuat salinan image baru.
5docker rmi <image>:<tag>docker rmi hello-web:1.0Menghapus image dari mesin lokal. Command ini gagal jika masih ada container yang memakai image tersebut.

Container Command

No.Format CommandContoh CommandKeterangan
6docker run -d --name <nama-container> -p <port-local>:<port-container> <image>:<tag>docker run -d --name web -p 8080:80 nginx:1.27Membuat dan menjalankan container di background. Port 8080 pada laptop diarahkan ke port 80 di dalam container.
7docker psdocker psMenampilkan container yang sedang running.
8docker ps -adocker ps -aMenampilkan semua container, termasuk container yang sudah berhenti.
9docker logs <nama-container>docker logs webMenampilkan output proses di dalam container.
10docker logs -f <nama-container>docker logs -f webMengikuti log baru secara live. Tekan Ctrl+C untuk berhenti mengikuti log.
11docker exec -it <nama-container> <command>docker exec -it web shMenjalankan command di dalam container yang sedang running. Ketik exit untuk keluar dari shell container.
12docker stop <nama-container>docker stop webMenghentikan container dan tetap menyimpannya agar dapat dijalankan kembali.
13docker start <nama-container>docker start webMenjalankan kembali container yang sudah berhenti dengan konfigurasi sebelumnya.
14docker rm <nama-container>docker rm webMenghapus container yang sudah berhenti.
15docker rm -f <nama-container>docker rm -f webMenghentikan dan menghapus container yang masih running. Command ini tidak menghapus image dan named volume secara otomatis.

Registry Command

No.Format CommandContoh CommandKeterangan
16docker login -u <dockerhub-username>docker login -u bagusLogin ke Docker Hub agar Docker Engine memiliki izin untuk push image. Gunakan personal access token sebagai password jika account memakai two-factor authentication.
17docker push <registry>/<repository>:<tag>docker push bagus/hello-web:1.0Mengirim image dari mesin lokal ke registry. Image harus sudah diberi tag sesuai nama repository dan kamu harus sudah login.

Volume Command

No.Format CommandContoh CommandKeterangan
18docker volume lsdocker volume lsMenampilkan named volume yang dikelola Docker.
19docker run -d --name <nama-container> -v <nama-volume>:<path-di-container> <image>:<tag>docker run -d --name db -v pgdata:/var/lib/postgresql/data postgres:16Memasang named volume ke path data di dalam container. Named volume tetap ada setelah container dihapus.
20docker run -d --name <nama-container> -v <folder-lokal>:<path-di-container> <image>:<tag>docker run -d --name web -v "$(pwd)/html:/usr/share/nginx/html:ro" nginx:1.27Memasang folder tertentu dari laptop ke dalam container. Suffix :ro membuat container hanya dapat membaca folder tersebut.

Network Command

No.Format CommandContoh CommandKeterangan
21docker network create <nama-network>docker network create app-networkMembuat user-defined network agar beberapa container dapat berkomunikasi menggunakan nama container.
22docker run -d --name <nama-container> --network <nama-network> <image>:<tag>docker run -d --name db --network app-network postgres:16Menempatkan container pada network tertentu. Container lain pada network yang sama dapat menggunakan db sebagai hostname.
23docker network lsdocker network lsMenampilkan network yang tersedia di mesin lokal.

Environment Variable Command

No.Format CommandContoh CommandKeterangan
24docker run -d --name <nama-container> -e <NAMA_VARIABLE>=<nilai> <image>:<tag>docker run -d --name db -e POSTGRES_PASSWORD=secret -e POSTGRES_DB=app postgres:16Memberikan konfigurasi ke container tanpa mengubah image. Hindari menulis secret production langsung di command atau shell history.

Docker Compose Command

No.Format CommandContoh CommandKeterangan
25docker compose up -ddocker compose up -dMenjalankan semua service dari compose.yaml di background.
26docker compose logs -fdocker compose logs -fMengikuti log baru dari semua service secara live.
27docker compose logs -f <nama-service>docker compose logs -f dbMengikuti log baru dari service tertentu secara live.
28docker compose downdocker compose downMenghentikan dan menghapus container serta network Compose. Named volume tidak ikut terhapus.
29docker compose down -vdocker compose down -vMenghentikan dan menghapus container, network, serta named volume Compose. Gunakan hanya jika ingin mereset data local.
30docker compose up -d --builddocker compose up -d --buildMembuat ulang image untuk service yang menggunakan build, lalu menjalankan service di background.