Как оптимизировать Docker image?

Middle
713 просмотров
AFK Offer AI

Главные приёмы: multi-stage build (собираешь в одном образе, копируешь бинарник в чистый), маленький базовый образ (alpine или distroless вместо ubuntu), правильный порядок слоёв для кеша, .dockerignore. Для Go multi-stage идеален: первый stage — golang:1.22 для сборки, второй — scratch или distroless для запуска. Go статически компилируется, так что в финальном образе нужен только бинарник. Результат — образ в 10-20 МБ вместо 1 ГБ.

Следующий вопрос

Что такое time.Duration?