Membuat image Docker lebih ringan dan aman
(insight.infograb.net)- Saat membuat dan mendistribusikan aplikasi sebagai image Docker, penggunaan base image yang berat dapat membuat waktu unduh menjadi lama, atau menimbulkan masalah keamanan karena menyertakan data sensitif
- Cara membuat image Docker menjadi lebih ringan dan aman
- Mengurangi ukuran image
- Semakin ringan image Docker, semakin cepat proses build dan deployment aplikasi
- Dengan begitu, deployment bisa dilakukan lebih sering dan lebih banyak, sehingga produktivitas developer meningkat
- Metode
- Teknik multi-stage: membuat beberapa stage, membangun masing-masing secara terpisah, lalu menggabungkan hasilnya ke dalam image yang paling ringan
- Cara meminimalkan penggunaan perintah RUN: perintah RUN membuat image secara terpisah. Untuk meminimalkannya, jalankan sebanyak mungkin skrip dalam satu perintah RUN
- Menghapus source code yang tidak perlu dengan
.dockerignoreREADME.mdatau kode pengujian tidak diperlukan saat membangun aplikasi yang sebenarnya- File
.envyang berisi informasi sensitif seperti token autentikasi API, file private key.pem, dan direktori.gityang berisi riwayat commit Git tidak boleh dimasukkan ke dalam image Docker - Untuk mencegah file-file seperti ini masuk ke dalam image Docker, buat file
.dockerignore
- Membuat image yang aman
- Jika image Docker memiliki hak akses root, risikonya bisa besar saat terjadi peretasan
- Metode
- Gunakan versi image yang spesifik: jika versi tidak ditentukan, versi
latestakan diambil secara otomatis sehingga perilaku saat dijalankan bisa berbeda tergantung situasinya - Hilangkan izin tulis pada
/etc:/etcadalah direktori yang berisi file konfigurasi sistem dan skrip. Aplikasi biasanya tidak perlu mengubahnya, jadi sebaiknya izin tulis dihapus - Hapus semua file executable: dalam kasus Go, aplikasi dapat dijalankan hanya dengan satu file executable, sehingga semua executable lain yang berpotensi berisiko dihapus
- Beralih ke user biasa: akun root dapat memodifikasi dan mengendalikan seluruh sistem. Buat user dengan hak akses minimum, lalu jalankan aplikasi hanya dengan user tersebut
- Gunakan versi image yang spesifik: jika versi tidak ditentukan, versi
- Image Docker yang ringan menunjukkan sinergi ketika dipadukan dengan pipeline CI/CD dan metodologi agile
- Image Docker yang aman dapat melindungi bisnis dan membantu mencegah risiko sebelum terjadi
Belum ada komentar.