Red Hat Training

A Red Hat training course is available for RHEL 8

9.3. Construindo uma imagem de um Dockerfile com Buildah

Com o comando buildah, você pode criar uma nova imagem a partir de um Dockerfile. Os passos seguintes mostram como construir uma imagem que inclui um script simples que é executado quando a imagem é executada.

Este exemplo simples começa com dois arquivos no diretório atual: Dockerfile (que contém as instruções para construir a imagem do recipiente) e myecho (um script que ecoa algumas palavras para a tela):

# 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!

Com o Dockerfile no diretório atual, construa o novo container da seguinte forma:

# 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"

O comando buildah bud cria uma nova imagem chamada myecho. Para ver essa nova imagem, digite:

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

Em seguida, você pode executar a imagem, para ter certeza de que ela está funcionando.

9.3.1. Executando a imagem que você construiu

Para verificar se a imagem que você construiu anteriormente funciona, você pode executar a imagem usando podman run:

# podman run localhost/myecho
This container works!