Red Hat Training

A Red Hat training course is available for RHEL 8

9.3. Construir una imagen desde un archivo Docker con Buildah

Con el comando buildah, puedes crear una nueva imagen a partir de un archivo Docker. Los siguientes pasos muestran cómo construir una imagen que incluye un sencillo script que se ejecuta cuando la imagen se ejecuta.

Este sencillo ejemplo comienza con dos archivos en el directorio actual: Dockerfile (que contiene las instrucciones para construir la imagen del contenedor) y myecho (un script que hace eco de algunas palabras en la pantalla):

# ls
Dockerfile  myecho
# cat Dockerfile
FROM registry.redhat.io/ubi8/ubi
ADD myecho /usr/local/bin
ENTRYPOINT "/usr/local/bin/myecho"
# cat myecho
echo "This container works!"
# chmod 755 myecho
# ./myecho
This container works!

Con el Dockerfile en el directorio actual, construya el nuevo contenedor como sigue:

# buildah bud -t myecho .
STEP 1: FROM registry.redhat.io/ubi8/ubi
STEP 2: ADD myecho /usr/local/bin
STEP 3: ENTRYPOINT "/usr/local/bin/myecho"

El comando buildah bud crea una nueva imagen llamada myecho. Para ver esa nueva imagen, escribe:

# buildah images
IMAGE NAME        IMAGE TAG  IMAGE ID      CREATED AT          SIZE
localhost/myecho  latest     a3882af49784  Jun 21, 2019 12:21  216 MB

A continuación, puedes ejecutar la imagen para asegurarte de que funciona.

9.3.1. Ejecutar la imagen que has construido

Para comprobar que la imagen que has construido previamente funciona, puedes ejecutar la imagen utilizando podman run:

# podman run localhost/myecho
This container works!