9.7. Uso de registros de contenedores con Buildah
Con Buildah, puedes empujar y sacar imágenes de contenedores entre tu sistema local y los registros de contenedores públicos o privados. Los siguientes ejemplos muestran cómo hacerlo:
- Empuje los contenedores hacia y desde un registro privado con buildah.
- Empuje y tire del contenedor entre su sistema local y el Registro Docker.
- Utiliza las credenciales para asociar tus contenedores con una cuenta de registro cuando los empujes.
Utilice el comando skopeo, junto con el comando buildah, para consultar los registros en busca de información sobre las imágenes de los contenedores.
9.7.1. Envío de contenedores a un registro privado Copiar enlaceEnlace copiado en el portapapeles!
El envío de contenedores a un registro de contenedores privado con el comando buildah funciona de forma muy similar al envío de contenedores con el comando docker. Es necesario:
- Configure un registro privado (OpenShift proporciona un registro de contenedores o puede configurar un registro de contenedores de Red Hat Quay).
- Cree o adquiera la imagen del contenedor que desea impulsar.
-
Utilice
buildah pushpara enviar la imagen al registro.
Para empujar una imagen desde su almacenamiento local de contenedores Buildah, compruebe el nombre de la imagen, y luego empuje utilizando el comando buildah push. Recuerda identificar tanto el nombre de la imagen local como un nuevo nombre que incluya la ubicación. Por ejemplo, un registro que se ejecuta en el sistema local que está escuchando en el puerto TCP 5000 se identificaría como localhost:5000.
Utilice el comando curl para listar las imágenes en el registro y skopeo para inspeccionar los metadatos sobre la imagen:
En este punto, cualquier herramienta que pueda extraer imágenes de contenedores de un registro de contenedores puede obtener una copia de tu imagen empujada. Por ejemplo, en un sistema RHEL 7 podrías iniciar el demonio docker y tratar de extraer la imagen para que pueda ser utilizada por el comando docker de la siguiente manera:
systemctl start docker docker pull localhost:5000/myecho2 docker run localhost:5000/myecho2
# systemctl start docker
# docker pull localhost:5000/myecho2
# docker run localhost:5000/myecho2
This container works!