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
- Created — container dibuat tapi belum berjalan
- Running — container sedang aktif menjalankan aplikasi
- Paused — proses container ditunda sementara
- Stopped — container dihentikan
- Deleted — container dihapus dari sistem