Как собрать прод-образ и настроить пайплайн так, чтобы он был минимальным, воспроизводимым, безопасным, многоархитектурным и без утечек секретов?
Используйте multi-stage (builder → минимальный runtime вроде distroless/scratch), пингуйте версии и базовый образ по digest, ставьте зависимости по lock-файлам, включайте BuildKit с --mount=cache и --mount=secret, чистите контекст через .dockerignore. Запускайте сервис под непривилегированным USER, с exec-ENTRYPOINT, read-only ФС, tmpfs для /tmp, сброшенными capabilities, лёгким HEALTHCHECK, логами в stdout; секреты и состояние держите вне образа (env/volumes). Для мультиархитектуры собирайте через buildx --platform=linux/amd64,linux/arm64 и публикуйте манифест; в цепочке поставки генерируйте SBOM, подписывайте образ (cosign) и сканируйте уязвимости в CI.
Библиотека собеса по DevOps
Библиотека собеса по DevOps