L PlnExo Course
Docker Fast Track

Image, Container, Registry — tiga kata yang wajib kamu bedakan

Preview

Hampir semua kebingungan pemula Docker berakar dari tiga kata ini yang dipakai bergantian seolah sama. Begitu kamu pegang bedanya, semua command Docker mendadak masuk akal.

Image — template read-only, seperti master cetakan

Image adalah paket berisi semua yang dibutuhkan app untuk jalan: kode, runtime, library, konfigurasi default. Sifatnya read-only — sekali dibuat, isinya tidak berubah.

Analoginya: image itu seperti master cetakan kue. Cetakannya sendiri tidak pernah "dimakan" — dia cuma dipakai untuk mencetak.

docker pull nginx          # ambil image nginx dari registry
docker image ls            # lihat image yang ada di mesin kamu

Container — instance hidup dari image (bisa banyak dari 1 image)

Container adalah proses yang sedang berjalan, dibuat dari sebuah image — kue hasil cetakannya. Dari satu image kamu bisa menjalankan banyak container sekaligus, masing-masing terisolasi dan punya "hidup" sendiri.

docker run --name web1 -d nginx    # container pertama dari image nginx
docker run --name web2 -d nginx    # container kedua — image yang sama

Yang penting diingat: perubahan yang terjadi di dalam container (file yang kamu buat, dsb.) tidak mengubah image-nya. Hapus container-nya, perubahan itu ikut hilang — image tetap utuh.

Registry & Docker Hub — tempat image disimpan dan dibagikan

Registry adalah gudang online tempat image disimpan dan dibagikan. Yang paling terkenal: Docker Hub (hub.docker.com) — di sana ada image resmi seperti nginx, postgres, node, plus jutaan image publik buatan komunitas.

Di dalam registry, image dikelompokkan per repository (misalnya nginx), dan tiap repository punya banyak tag versi (misalnya nginx:1.27, nginx:alpine) — detailnya di Modul 7.

Alur lengkapnya: pull → run → (nanti) push

flowchart LR
    HUB["Registry<br/>(Docker Hub)"] -- "docker pull" --> IMG["Image<br/>(template read-only)"]
    IMG -- "docker run" --> C1["Container 1"]
    IMG -- "docker run" --> C2["Container 2"]
    MINE["Image buatanmu"] -- "docker push" --> HUB
  • docker pull mengambil image dari registry ke mesin kamu.
  • docker run membuat container hidup dari image itu.
  • docker push (Bagian C) mengirim image buatanmu sendiri ke registry supaya bisa dipakai orang lain.

Perbandingan singkat

Image Container Registry
Apa itu Template read-only Instance hidup dari image Gudang image online
Analoginya Master cetakan Kue hasil cetakan Gudang cetakan
Command khasnya pull, build, push run, ps, stop, rm login, search

Ringkasan

  • Image = template read-only berisi app + dependency; tidak pernah berubah.
  • Container = proses hidup yang dibuat dari image; satu image bisa jadi banyak container.
  • Registry (Docker Hub) = gudang online tempat image disimpan & dibagikan.
  • Alurnya: pull (ambil image) → run (hidupkan container) → nanti push (bagikan image buatanmu).

Selanjutnya, kita install Docker di mesin kamu dan pastikan semuanya jalan dengan tes pertama.