Recraftory

Image dan Container

Memahami perbedaan dan hubungan antara image dan container

Docker Image

  • Template read-only yang berisi sistem file dan konfigurasi aplikasi
  • Berfungsi sebagai blueprint untuk membuat container
  • Terdiri dari lapisan-lapisan yang dapat digunakan ulang

Docker Container

  • Instance yang berjalan dari sebuah image
  • Memiliki lapisan writable di atas image read-only
  • Dapat dimodifikasi selama berjalan tanpa mengubah image asli

Hubungan Image dan Container

  • Image adalah cetakan, container adalah hasil cetakan yang berjalan
  • Satu image dapat digunakan untuk membuat banyak container
  • Container yang dihapus tidak menghapus image-nya

Layer pada Docker Image

  • Setiap instruksi dalam Dockerfile membuat layer baru
  • Layer yang sama dapat digunakan ulang oleh image berbeda
  • Mempercepat build dan menghemat penyimpanan

Menyimpan Perubahan Container

Commit

  • docker commit nama-container nama-image-baru
  • Menyimpan state container saat ini sebagai image baru
  • Jarang digunakan, lebih baik gunakan Dockerfile

Volume

  • Direktori di luar sistem file container untuk menyimpan data
  • Data tetap ada meski container dihapus
  • Dapat dibagikan antar container

Container Lifecycle

  1. Created — container dibuat tapi belum berjalan
  2. Running — container sedang aktif menjalankan aplikasi
  3. Paused — proses container ditunda sementara
  4. Stopped — container dihentikan
  5. Deleted — container dihapus dari sistem