Minimalkan size docker image-mu
Mungkin ini terdengar remeh dan receh, tapi percayalah guys dengan meminimalkan size docker image kita akan menikmati kemudahan ke depannya. Serta akan terhindar dari error2 yang sering kali terjadi dikarenakan docker image yang mengalami obesitas.
Adapun error yang sering kita alami antara lain seperti berikut:
- Pipeline timeout ketika build docker image.
- Deployment ke orchestrator failed karena waktu download terlalu lama.
- Storage VM penuh karena banyak app yang docker imagenya bengkak
Nah, gimana sih cara meminimalkan size docker image?. Oke dari pengalaman dan hasil googling sana-sini, berikut tips yang mungkin bisa temen2 coba untuk meminimalkan size docker image:
- Gunakan base image dengan size seminim mungkin. jika app kalian adalah nodejs, silahkan gunakan image versi alpine linux. karena alpine ini ukurannya sangatlah kecil.
coba kalian bandingin deh, pasti terlihat perbedaannya
![](https://blog.uripsub.dev/content/images/2022/03/Screen-Shot-2022-03-23-at-09.11.31.png)
![](https://blog.uripsub.dev/content/images/2022/03/Screen-Shot-2022-03-23-at-09.11.54.png)
- Gunakan multi-stage build, ketika temen2 perlu build app didalam docker. hal ini untuk menghindari residu (sisa-sisa dari proses build).
![](https://blog.uripsub.dev/content/images/2022/03/Screen-Shot-2022-03-23-at-09.17.31.png)
- Sebisa mungkin kurangi jumlah line/layer di Dockerfile temen2, kalau ada process yang bisa dijadiin 1 line, jadikanlah 1 line (walaupun ini tidak signifikan tapi boleh dicoba).
contohnya begini: kalau bisa digabung seperti dockerfile 1 (atas)
![](https://blog.uripsub.dev/content/images/2022/03/Screen-Shot-2022-03-23-at-09.19.41.png)
- Jangan lupa tambahkan .dockerignore supaya file-file yang tidak kita harapkan tidak ter-copy ke app image kita ya.
- Usahakan hapus dependencies yang cuma kita butuhin ketika development, semisal nodemon.