TGViewer
DevOps для ДевоПсов DevOps для ДевоПсов @devo_pes · 3.22K subscribers
Post #7928 526
Образ с Go-сервисом влезает в 15 МБ, если не собирать его на scratch

Go компилируется в один статически слинкованный бинарник без рантайма и системных зависимостей, поэтому образ это ваш бинарник плюс пара килобайт метаданных. Там, где Node с трудом влезает в 150 МБ, Go садится ниже 15 МБ без всяких усилий.

Ключевые флаги: CGO_ENABLED=0 даёт по-настоящему статический бинарник с чистой Go-реализацией сети и DNS, -ldflags="-s -w" убирает отладочные символы и режет примерно 30% размера, а копирование go.mod и go.sum до исходников оставляет слой зависимостей в кеше между сборками.

Вывод про базовый образ неочевидный. FROM scratch работает ровно до того момента, когда понадобятся HTTPS и часовые пояса: там нет ни CA-сертификатов, ни tzdata. Distroless static везёт и то и другое плюс пользователя nonroot примерно в 2 МБ. Разбор с Dockerfile.
DEV Community Deploying Go Applications: The Smallest Docker Images You’ll Ever Ship Go compiles to a single static binary, perfect for containers. Build 10 MB images and deploy them to...
  • 👍 4
More from @devo_pes
  1. Sep 20, 2026ACME отработал с кодом 0, а пользователи всё ещё получают старый сертификат Cron обновил с…
  2. Sep 20, 2026Зелёный CI не ловит деградацию под трафиком, зато её ловит канарейка с автооткатом Функцио…
  3. Sep 20, 2026Что проверить перед запуском приложения в Kubernetes Pod может запуститься, а обновление и…
  4. Sep 19, 2026Как выбрать инструменты для анализа производительности Linux При инциденте на Linux-хосте…
  5. Sep 19, 2026OpenTelemetry бесплатен ровно до дня, когда вы начали его эксплуатировать Стандарт снял пр…
  6. Sep 19, 2026Как измерить и сократить toil в эксплуатации Google SRE определяет toil как поток повторяю…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →