Red Hat Training

A Red Hat training course is available for RHEL 8

5.5. Funcionando Buildah em um container

O procedimento demonstra como executar o Buildah em um container e criar um container funcional com base em uma imagem.

Procedimento

  1. Entrar no registro.redhat.io

    $ podman login registry.redhat.io
    Username: myuser@mycompany.com
    Password: ***********
    Login Succeeded!
  2. Puxe e execute a imagem registry.redhat.io/rhel8/buildah:

    # podman run --rm --device /dev/fuse -it registry.redhat.io/rhel8/buildah  /bin/bash
    • A opção --rm remove a imagem registry.redhat.io/rhel8/buildah após a saída do contêiner.
    • A opção --device adiciona um dispositivo hospedeiro ao contêiner.
  3. Criar um novo container usando uma imagem registry.access.redhat.com/ubi8:

    # buildah --storage-opt=overlay.mount_program=/usr/bin/fuse-overlayfs from registry.access.redhat.com/ubi8
    ...
    ubi8-working-container
    • A opção --storage-opt define o driver de armazenamento. Esta opção anula todas as opções configuradas em /etc/containers/storage.conf e STORAGE_OPTS variável de ambiente.
    • O /usr/bin/fuse-overlayfs é uma implementação do FUSE (Filesystem in Userspace) e permite que usuários não root criem seus sistemas de arquivos sem modificar o código do kernel.
  4. Execute o comando ls / dentro do contêiner ubi8-working-container:

    # buildah --storage-opt=overlay.mount_program=/usr/bin/fuse-overlayfs run  --isolation=chroot ubi8-working-container ls /
    bin  boot  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv
  5. Para listar todas as imagens em um depósito local, entre:

    # buildah images
    REPOSITORY                        TAG      IMAGE ID       CREATED       SIZE
    registry.access.redhat.com/ubi8   latest   ecbc6f53bba0   5 weeks ago   211 MB
  6. Para listar os recipientes de trabalho e suas imagens de base, entre:

    # buildah containers
    CONTAINER ID  BUILDER  IMAGE ID     IMAGE NAME                       CONTAINER NAME
    0aaba7192762     *     ecbc6f53bba0 registry.access.redhat.com/ub... ubi8-working-container
  7. Para empurrar a imagem registry.access.redhat.com/ubi8 para um registro local localizado em registry.example.com:

    # buildah push ecbc6f53bba0 registry.example.com:5000/ubi8/ubi

Recursos adicionais