معمولا برای سبک شدن docker image نهایی، از استیج build یک scratch image ساخته میشه که فقط فایل باینری نهایی رو شامل میشه، اما این کار میتونه معایبی هم داشته باشه
اینجا میتونید در مورد معایبش بیشتر بخونید
https://iximiuz.com/en/posts/containers-distroless-images/
و اینجا میتونید خودتون تمرین کنید
When a FROM scratch Container Image Is Not Good Enough
https://labs.iximiuz.com/challenges/when-from-scratch-image-is-not-good-enough
من خودم از scratch به عنوان استیج نهایی استفاده میکردم ولی چند سالی هست که این کارو نمیکنم و سعی میکنم final image ی که قراره به عنوان runtime container باشه حتما یه سری basic functionalityهارو داشته باشه، مثلا حداقلش یه shell بتونه به من بده که به کانتینر وصل بشم، یا مسائلی مثل timezone و certificate رو مدیریت کنه. ممکنه با scratch هم بشه بعضی هاش رو حل کرد، اما ترجیح من استفاده از یه base image آماده ست مثل alpine یا debian
@gocasts
Post #391
4.45K