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