Lewati ke konten

2. Image & Container

Terminal window
docker pull nginx # = nginx:latest
docker pull nginx:alpine # versi tertentu (tag)
docker images # daftar image lokal

Bagian setelah titik dua disebut tag — biasanya versi atau varian. Tanpa tag, Docker memakai latest. Varian alpine dibangun di atas Alpine Linux yang sangat kecil, jadi ukurannya jauh lebih hemat.

Terminal window
docker run -d --name web nginx
Opsi Arti
-d detached: berjalan di background, terminal langsung bisa dipakai lagi
--name web beri nama yang mudah diingat. Tanpa ini, Docker memberi nama acak seperti jolly_turing

Container bisa dirujuk lewat nama atau awal ID-nya (cukup 3–4 karakter pertama).

Terminal window
docker ps # yang berjalan
docker logs web # output aplikasi di dalam container
docker stop web # hentikan (data di container masih ada)
docker start web # nyalakan lagi container yang sama
docker restart web
docker rm web # hapus container yang sudah berhenti
docker rm -f web # hentikan + hapus sekaligus

docker logs adalah tempat pertama yang perlu dicek kalau container bermasalah — mirip /var/log di Linux.

Container tidak harus berjalan lama. Kamu bisa menjalankan satu perintah lalu container langsung dihapus dengan --rm:

Terminal window
docker run --rm alpine cat /etc/os-release
docker run --rm ubuntu echo "Halo dari Ubuntu"

Ini berguna untuk mencoba perintah di distro lain tanpa memasangnya.

Lab: Mengelola image & container
Misi 0/8
  1. Unduh image nginx dari Docker Hub.
    Petunjukdocker pull nginx
  2. Jalankan nginx di background dengan nama web.
    Petunjukdocker run -d --name web nginx
  3. Pastikan container web sedang berjalan.
    Petunjukdocker ps
  4. Lihat log container web.
    Petunjukdocker logs web
  5. Hentikan container web.
    Petunjukdocker stop web
  6. Nyalakan lagi container yang sama.
    Petunjukdocker start web
  7. Hapus container web (paksa, karena masih berjalan).
    Petunjukdocker rm -f web
  8. Jalankan perintah sekali pakai di container Alpine, lalu otomatis dihapus.
    Petunjukdocker run --rm alpine cat /etc/os-release