Sobre el proyecto
Buildah es una herramienta de línea de comandos de código abierto para construir imágenes de contenedor de Open Container Initiative (OCI). Forma parte del ecosistema del proyecto containers y está estrechamente relacionada con Podman.
Capacidades principales descritas en el README:
- Crear un contenedor de trabajo desde cero o desde una imagen existente como punto de partida.
- Crear una imagen desde un contenedor de trabajo o desde instrucciones en un Dockerfile/Containerfile.
- Construir imágenes en formato de imagen OCI o en el formato tradicional de imagen Docker upstream.
- Montar y desmontar el sistema de archivos raíz de un contenedor de trabajo para su manipulación directa.
- Usar el contenido actualizado del sistema de archivos raíz de un contenedor como capa de sistema de archivos para crear una nueva imagen.
- Eliminar un contenedor de trabajo o una imagen, y renombrar un contenedor local.
Buildah está diseñado para funcionar sin requerir privilegios de root. Sus comandos replican las operaciones que se encuentran en un Dockerfile, lo que permite construir imágenes tanto con como sin Dockerfiles. El proyecto declara que su objetivo es proporcionar una interfaz de nivel inferior al estilo coreutils para construir imágenes, y que construir sin Dockerfiles permite la integración de otros lenguajes de scripting en el proceso de construcción. Buildah sigue un modelo fork-exec y no se ejecuta como demonio; se basa en una API de Go que puede incorporarse (vendored) en otras herramientas.
El README explica la relación con Podman: Podman se especializa en mantener y modificar imágenes OCI (descargar, etiquetar) y en crear, ejecutar y mantener contenedores a partir de esas imágenes. Para construir imágenes mediante Dockerfiles, Podman usa la API de Go de Buildah y puede instalarse de forma independiente. Una diferencia clave es el concepto de contenedor: los contenedores de Podman están pensados para ser de larga duración, mientras que los contenedores de Buildah existen para permitir que se añada contenido de vuelta a una imagen. El README señala que `buildah run` emula el comando RUN en un Dockerfile, mientras que `podman run` emula `docker run`, y que debido a diferencias en el almacenamiento subyacente, los contenedores de Podman no son visibles desde dentro de Buildah y viceversa.
El README incluye un ejemplo de shell que crea un contenedor a partir de una imagen base, ejecuta actualizaciones de paquetes e instala lighttpd, establece anotaciones en tiempo de construcción, configura el comando y el puerto expuesto, y confirma el contenedor con un nombre de imagen.
Los comandos de CLI documentados incluyen: add, build, commit, config, containers, copy, from, images, info, inspect, mount, pull, push, rename, rm, rmi, run, tag, umount, unshare y version. El README también enlaza a tutoriales, notas de instalación, una guía de solución de problemas, demostraciones, un registro de cambios, directrices de contribución y un plan de desarrollo. Entre los objetivos futuros mencionados se incluyen más pruebas de CI y posiblemente comandos de CLI adicionales.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.