Saat menempatkan aplikasi ke server, biasanya ada pemisahan antara apa yang dibundel dengan aplikasi itu sendiri dan apa yang diharapkan dari platform (sistem operasi dan paket yang diinstal) untuk menyediakan. Satu poin dari ini adalah bahwa platform dapat diperbarui secara terpisah dari aplikasi. Ini berguna misalnya ketika pembaruan keamanan perlu diterapkan segera untuk paket yang disediakan oleh platform tanpa membangun kembali seluruh aplikasi.
Secara tradisional pembaruan keamanan telah diterapkan hanya dengan menjalankan perintah manajer paket untuk menginstal versi paket yang diperbarui pada sistem operasi (misalnya "pembaruan yum" pada RHEL). Tetapi dengan munculnya teknologi kontainer seperti Docker di mana gambar kontainer pada dasarnya bundel baik aplikasi dan platform, apa cara kanonik untuk menjaga sistem dengan wadah up to date? Host dan kontainer memiliki paket sendiri, independen, paket yang perlu diperbarui dan diperbarui pada host tidak akan memperbarui paket apa pun di dalam kontainer. Dengan rilis RHEL 7 yang menampilkan wadah Docker secara khusus, akan menarik untuk mendengar apa yang direkomendasikan oleh Redhat untuk menangani pembaruan keamanan wadah.
Pikiran pada beberapa opsi:
- Membiarkan manajer pembaruan paket paket pada tuan rumah tidak akan memperbarui paket di dalam wadah.
- Harus meregenerasi semua gambar kontainer untuk menerapkan pembaruan tampaknya mematahkan pemisahan antara aplikasi dan platform (memperbarui platform membutuhkan akses ke proses pembuatan aplikasi yang menghasilkan gambar Docker).
- Menjalankan perintah manual di dalam masing-masing wadah yang berjalan tampaknya rumit dan perubahan berisiko ditimpa saat berikutnya wadah diperbarui dari artefak rilis aplikasi.
Jadi tidak ada satupun dari pendekatan ini yang memuaskan.
docker pull debian/jessie
untuk memperbarui gambar, lalu membangun kembali gambar saya yang sudah ada, kemudian menghentikan wadah dan menjalankannya lagi ( dengan gambar baru). Gambar yang saya buat memiliki nama yang sama dengan yang sebelumnya, jadi permulaan dilakukan melalui skrip. Saya kemudian menghapus gambar "tanpa nama". Saya pasti akan menghargai alur kerja yang lebih baik.