Construir sobre las imágenes base
Junto a los almacenes de datos y las aplicaciones, QuenchWorks entrega un conjunto de imágenes base sobre las que construyes tus propias aplicaciones: runtimes de lenguajes endurecidos, bases de runtime ligeras para la etapa final e imágenes de herramientas de construcción. Son el mismo tipo de artefacto que todo lo demás del catálogo. 0-CVE, firmadas con cosign, construidas como nonroot sobre un sistema de archivos raíz de solo lectura, multi-arch, con un SBOM y procedencia SLSA adjuntos. Simplemente las usas con FROM en tu Dockerfile en lugar de descargarlas como un servidor.
Tres familias
Intérpretes y SDKs con los que construyes: Python, Node, Go, Rust, .NET, el JDK, Ruby, PHP, Bun, Deno, Erlang, Elixir y Perl. Cada uno entrega sus líneas estables más recientes, sin :latest.
La etapa final ligera sobre la que copias una aplicación ya construida: static para binarios autocontenidos, jre para jars y dotnet-runtime / aspnet para .NET.
Bases de lenguaje con un gestor de paquetes o una herramienta de construcción preinstalada: pnpm, Yarn, Composer, Maven, Gradle, uv y Poetry.
El catálogo completo, con las etiquetas de versión, la licencia y el digest de cada imagen.
La idea multi-etapa
El patrón que te da una imagen de producción pequeña y limpia es el mismo en todas partes: construye en una etapa, ejecuta en otra.
- Etapa de construcción. Empieza con FROM la imagen del SDK o de la herramienta de construcción (
node,go,maven, etcétera). Instala todas las dependencias, incluidas las de desarrollo y de construcción, y produce tu artefacto: un binario compilado, undist/construido, un jar, una carpeta publicada. - Etapa de runtime. Empieza con FROM una base ligera (
static,jre,python,dotnet-runtime). Copia únicamente la salida construida y las dependencias de producción. Deja el compilador, las dependencias de desarrollo y las cachés de paquetes atrás, en la etapa de construcción.
El resultado entrega solo lo que se ejecuta en producción. El conjunto de herramientas queda fuera de la imagen que despliegas, lo que significa una imagen más pequeña y una superficie de ataque más reducida.
Dos reglas de endurecimiento
Estas imágenes no son las habituales bases Debian-slim, así que dos costumbres de los Dockerfiles ordinarios te harán tropezar. Ambas tienen una solución limpia.
Guías por ecosistema
Cada guía encabeza con un Dockerfile multi-etapa completo y copiable que ya refleja la realidad sin shell y nonroot.
Multi-etapa con una etapa de dependencias de producción; variantes pnpm, npm y Yarn.
Construye un venv en una etapa, ejecútalo sobre la base ligera python; pip, uv y Poetry.
La clásica construcción de dos etapas sobre static para una imagen final diminuta.
Construye el jar con Maven o Gradle, ejecútalo sobre jre.
dotnet publish sobre el SDK, ejecuta sobre aspnet o dotnet-runtime.