Выбор минимального runtime image¶
Ненормативный пример. Запрещено напрямую копировать ссылку на image в прикладной проект. Для конкретного приложения выбор, точная версия и используемый при наличии digest проверяются согласно
DEP-IMG-004,DEP-IMG-007,DEP-IMG-012иDEP-IMG-013.
Ограничения применимости: пример сравнивает только форму Linux runtime image и не определяет допустимый registry, базовый image, версии runtime-зависимостей, состав приложения или production-конфигурацию.
Статически скомпонованное приложение¶
gcr.io/distroless/static-debian13:nonroot является кандидатом для приложения,
которому не требуются динамический runtime, shell и package manager.
Проверочный список перед использованием:
- архитектуру процессора и формат бинарного файла;
- отсутствие динамических библиотек;
- наличие требуемых корневых сертификатов и данных часовых поясов;
- запись только в явно разрешённые каталоги;
- работу health check и graceful shutdown;
- точный version tag в явно объявленном registry и, желательно, утверждённый источник и актуальный immutable digest.
Tag nonroot не заменяет проверку effective UID/GID и прав файлов,
скопированных из build-стадии.
Динамический или интерпретируемый runtime¶
Этот image не подходит напрямую для Node.js, Python, PHP и динамически скомпонованных бинарных файлов. Для них выбирается утверждённый минимальный image с необходимым runtime и совместимыми системными библиотеками.
Выбор Alpine-based image только из-за размера небезопасен без проверки совместимости приложения и native-зависимостей с musl libc.