Безусловно, USER 1000 - более простой вариант, и создание явного пользователя и группы необязательно, но я предпочитаю подход, который использовал в статье. Считаю оба подхода верными - каждый выбирает тот, который ему по душе.
Честно говоря, Gin выбрал просто как удобный для меня инструмент. В Go-разработке я не силён, поэтому на коде не зацикливался. Фокус был именно на оптимизации Docker образа.
Про distroless: я согласен, это отличное решение, показал его как компромисс между alpine и scratch. gcr.io/distroless/static-debian12 это по сути то, к чему я пришёл вручную (scratch + сертификаты), но с лучшей поддержкой и проверенными зависимостями.
Про UPX: его добавил больше с целью общего развития, чтобы показать как можно достичь максимально минимального образа.
Безусловно, USER 1000 - более простой вариант, и создание явного пользователя и группы необязательно, но я предпочитаю подход, который использовал в статье. Считаю оба подхода верными - каждый выбирает тот, который ему по душе.
Справедливое замечание, переборщил с подведениями итогов. Обязательно учту в следующих публикациях.
Спасибо за вопрос!
Честно говоря, Gin выбрал просто как удобный для меня инструмент. В Go-разработке я не силён, поэтому на коде не зацикливался. Фокус был именно на оптимизации Docker образа.
Спасибо за развёрнутое объяснение!
Про distroless: я согласен, это отличное решение, показал его как компромисс между alpine и scratch. gcr.io/distroless/static-debian12 это по сути то, к чему я пришёл вручную (scratch + сертификаты), но с лучшей поддержкой и проверенными зависимостями.
Про UPX: его добавил больше с целью общего развития, чтобы показать как можно достичь максимально минимального образа.
Полностью согласен, UPX это спорный и редкий кейс, в статье я постарался отметить его как бонус, подчеркнув недостатки такого подхода.