Buscar

Capítulo 5. Ejecución de Skopeo y Buildah en un contenedor

download PDF

Con Skopeo, puede inspeccionar imágenes en un registro remoto sin tener que descargar la imagen completa con todas sus capas. También puede utilizar Skopeo para copiar imágenes, firmar imágenes, sincronizar imágenes y convertir imágenes en diferentes formatos y compresiones de capas.

Buildah facilita la construcción de imágenes de contenedores OCI. Con Buildah, puedes crear un contenedor de trabajo, ya sea desde cero o utilizando una imagen como punto de partida. Puedes crear una imagen desde un contenedor en funcionamiento o a través de las instrucciones de un archivo Docker. Puedes montar y desmontar el sistema de archivos raíz de un contenedor en funcionamiento.

Razones para ejecutar Buildah y Skopeo en un contenedor:

  • Skopeo: Puede ejecutar un sistema CI/CD dentro de Kubernetes o utilizar OpenShift para construir sus imágenes de contenedor, y posiblemente distribuir esas imágenes a través de diferentes registros de contenedores. Para integrar Skopeo en un flujo de trabajo de Kubernetes, es necesario ejecutarlo en un contenedor.
  • Buildah: Quieres construir imágenes de OCI/contenedor dentro de un sistema de CI/CD de Kubernetes u OpenShift que está constantemente construyendo imágenes. Anteriormente, la gente utilizaba un socket Docker para conectarse al motor de contenedores y realizar un comando docker build. Esto era el equivalente a dar acceso de root al sistema sin requerir una contraseña, lo cual no es seguro. Por esta razón, Red Hat recomienda utilizar Buildah en un contenedor.
  • Both: Estás ejecutando un sistema operativo antiguo en el host pero quieres ejecutar la última versión de Skopeo, Buildah, o ambos. La solución es ejecutar Buildah en un contenedor. Por ejemplo, esto es útil para ejecutar la última versión de Skopeo, Buildah, o ambos proporcionados en RHEL 8 en un host contenedor RHEL 7 que no tiene acceso a las versiones más nuevas de forma nativa.
  • Both: Una restricción común en los entornos HPC es que los usuarios no root no pueden instalar paquetes en el host. Cuando ejecutas Skopeo, Buildah, o ambos en un contenedor, puedes realizar estas tareas específicas como usuario no root.

5.1. Ejecución de Skopeo en un contenedor

Este procedimiento demuestra cómo inspeccionar una imagen de contenedor remoto utilizando Skopeo. Ejecutar Skopeo en un contenedor significa que el sistema de archivos raíz del contenedor está aislado del sistema de archivos raíz del host. Para compartir o copiar archivos entre el host y el contenedor, tienes que montar archivos y directorios.

Procedimiento

  1. Inicie sesión en el registro de registry.redhat.io:

    $ podman login registry.redhat.io
    Username: myuser@mycompany.com
    Password: ***********
    Login Succeeded!
  2. Obtenga la imagen del contenedor registry.redhat.io/rhel8/skopeo:

    $ podman pull registry.redhat.io/rhel8/skopeo
  3. Inspeccionar una imagen de contenedor remoto registry.access.redhat.com/ubi8/ubi utilizando Skopeo:

    $ podman run --rm registry.redhat.io/rhel8/skopeo skopeo inspect docker://registry.access.redhat.com/ubi8/ubi
    {
        "Name": "registry.access.redhat.com/ubi8/ubi",
        ...
        "Labels": {
            "architecture": "x86_64",
            ...
            "name": "ubi8",
            ...
            "summary": "Provides the latest release of Red Hat Universal Base Image 8.",
            "url": "https://access.redhat.com/containers/#/registry.access.redhat.com/ubi8/images/8.2-347",
            ...
        },
        "Architecture": "amd64",
        "Os": "linux",
        "Layers": [
        ...
        ],
        "Env": [
            "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
            "container=oci"
        ]
    }

    La opción --rm elimina la imagen registry.redhat.io/rhel8/skopeo tras la salida del contenedor.

Recursos adicionales

Red Hat logoGithubRedditYoutubeTwitter

Aprender

Pruebe, compre y venda

Comunidades

Acerca de la documentación de Red Hat

Ayudamos a los usuarios de Red Hat a innovar y alcanzar sus objetivos con nuestros productos y servicios con contenido en el que pueden confiar.

Hacer que el código abierto sea más inclusivo

Red Hat se compromete a reemplazar el lenguaje problemático en nuestro código, documentación y propiedades web. Para más detalles, consulte el Blog de Red Hat.

Acerca de Red Hat

Ofrecemos soluciones reforzadas que facilitan a las empresas trabajar en plataformas y entornos, desde el centro de datos central hasta el perímetro de la red.

© 2024 Red Hat, Inc.