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.