Skip to main content

Docker Command

image.png

Perintah Docker Dasar + Use Case

Perintah Fungsi Utama Penjelasan Mudah Contoh Use Case
docker run Menjalankan container Seperti menyalakan mesin dari cetakan (image) Menjalankan web server seperti Nginx, Node.js
docker ps -a Melihat semua container Menampilkan semua container, baik aktif maupun mati Cek container yang gagal jalan atau sudah stop
docker exec Masuk ke dalam container Seperti masuk ke terminal dari komputer virtual (container) Debug aplikasi yang error dari dalam
docker logs Melihat log container Melihat output/error yang terjadi dalam aplikasi Melihat kenapa web app gagal jalan
docker build Membuat image dari Dockerfile Compile semua konfigurasi dan source code jadi image Build web app dari source code lokal
docker images / docker rmi Melihat & hapus image Lihat semua image lokal dan hapus yang tidak dipakai Bersih-bersih image lama
docker stop / docker rm Hentikan dan hapus container Stop container yang sedang berjalan, lalu hapus Bersih-bersih container yang tidak aktif
docker volume Kelola volume (penyimpanan) Simpan data yang tetap ada walau container dihapus Menyimpan data MySQL agar tidak hilang
docker network Kelola jaringan antar container Hubungkan container seperti jaringan LAN Web app bisa akses database di container lain
docker compose Jalankan beberapa container sekaligus Jalankan 1 set aplikasi (web + db + cache) dalam 1 perintah Deploy project: React + Node.js + MongoDB
1. Jalankan Nginx (web server)

docker run -d --name web-nginx -p 8080:80 nginx

Menjalankan Nginx dan membuka port 8080 di komputer lokal.


2. Lihat semua container (aktif dan tidak aktif)
docker ps -a

Untuk mengecek container mana yang berjalan atau sudah berhenti.


3. Masuk ke dalam container
docker exec -it web-nginx bash

Seperti buka terminal di dalam container Nginx.


4. Lihat log container (misalnya container Node.js)
docker logs web-node

Lihat error atau output dari aplikasi kita.


5. Build image dari Dockerfile
docker build -t myapp:v1 .

Bangun image bernama myapp:v1 dari Dockerfile di folder saat ini.


6. Lihat dan hapus image
docker images docker rmi myapp:v1

Cek semua image yang ada lalu hapus image yang tidak dipakai.


7. Stop dan hapus container
docker stop web-nginx docker rm web-nginx

Matikan dan hapus container Nginx.


8. Gunakan volume untuk database
docker volume create dbdata docker run -d --name mysql-db -e MYSQL_ROOT_PASSWORD=admin -v dbdata:/var/lib/mysql mysql

Volume dbdata menyimpan data MySQL agar tidak hilang walau container dihapus.


9. Buat jaringan khusus
docker network create webnet

Container yang dibuat di jaringan ini bisa saling komunikasi seperti dalam LAN.


10. Jalankan semua service dengan docker-compose

Isi file docker-compose.yml:

version: '3'
services:
  web:
    image: nginx
    ports:
      - "8080:80"
  db:
    image: mysql
    environment:
      MYSQL_ROOT_PASSWORD: admin

Jalankan:

docker-compose up -d 

Menjalankan Nginx dan MySQL sekaligus dengan satu perintah.

Perintah Maintenance Docker

Perintah Fungsi Penjelasan Mudah
docker system df Lihat pemakaian storage Seperti df di Linux, tapi khusus Docker
docker system prune -a Hapus semua yang tidak dipakai (container/image/volume) Bersih-bersih total
docker image prune / docker container prune Hapus image/container tidak terpakai Pilih bersih-bersih bagian tertentu
docker inspect Lihat detail konfigurasi container/image Untuk troubleshooting atau melihat pengaturan dalamnya
docker stats Lihat penggunaan CPU/RAM per container Pantau resource tiap container
docker cp Copy file ke/dari container Untuk backup log, atau copy konfigurasi
docker login/push/pull Akses Docker registry Upload/download image ke registry (Docker Hub, GitLab, dsb)

Contoh Maintenance

1. Lihat disk usage Docker
docker system df
2. Hapus semua yang tidak digunakan
docker system prune -a
3. Copy file dari container ke host
docker cp web-nginx:/etc/nginx/nginx.conf ./nginx.conf
4. Lihat penggunaan CPU/RAM container
docker stats


🐳 Docker Cheatsheet

Perintah Dasar Docker
PerintahFungsiContoh
docker runJalankan containerdocker run -d -p 8080:80 nginx
docker psLihat container aktifdocker ps
docker ps -aLihat semua containerdocker ps -a
docker execMasuk ke dalam containerdocker exec -it nama_container bash
docker logsLihat log containerdocker logs nama_container
docker stopHentikan containerdocker stop nama_container
docker rmHapus containerdocker rm nama_container
docker imagesLihat semua imagedocker images
docker rmiHapus imagedocker rmi nama_image
docker buildBuild image dari Dockerfiledocker build -t nama_image:v1 .

Volume & Data Persistence
PerintahFungsiContoh
docker volume createBuat volume barudocker volume create dataweb
-v volume:/pathMount volume ke container-v dataweb:/usr/share/nginx/html
docker volume lsLihat semua volumedocker volume ls
docker volume rmHapus volumedocker volume rm nama_volume

Network antar Container
PerintahFungsiContoh
docker network createBuat network barudocker network create mynet
--network mynetHubungkan container ke networkdocker run --network mynet ...
docker network lsLihat daftar networkdocker network ls
docker network inspectLihat detail networkdocker network inspect mynet

Docker Compose

File docker-compose.yml:


version: '3'
services:
  web:
    image: nginx
    ports:
      - "8080:80"
  db:
    image: mysql
    environment:
      MYSQL_ROOT_PASSWORD: admin
PerintahFungsi
docker-compose up -dJalankan semua service
docker-compose downHentikan dan hapus semua container
docker-compose psLihat status container

Maintenance & Cleanup
PerintahFungsi
docker system dfCek penggunaan storage
docker system prune -aBersihkan semua yang tidak dipakai
docker image pruneBersihkan image tak terpakai
docker container pruneBersihkan container mati
docker volume pruneBersihkan volume tak terpakai
docker statsLihat pemakaian CPU & RAM
docker inspectLihat metadata container/image
docker cpCopy file ke/dari container

Interaksi dengan Docker Registry
PerintahFungsiContoh
docker loginLogin ke Docker Hubdocker login
docker pullDownload imagedocker pull nginx
docker pushUpload imagedocker push user/nama_image

Shortcut Paling Penting
TujuanPerintah
Jalankan web serverdocker run -d -p 8080:80 nginx
Masuk ke terminal containerdocker exec -it nama_container bash
Lihat semua containerdocker ps -a
Hapus semua container & image tak terpakaidocker system prune -a