Capítulo 4. Añadir software a un contenedor UBI en funcionamiento
Las imágenes UBI se construyen a partir del contenido de Red Hat. Estas imágenes UBI también proporcionan un subconjunto de paquetes de Red Hat Enterprise Linux que están disponibles gratuitamente para ser instalados para su uso con UBI. Para añadir o actualizar software, las imágenes UBI están preconfiguradas para apuntar a los repositorios yum disponibles libremente que contienen los RPMs oficiales de Red Hat.
Para añadir paquetes de los repositorios UBI a los contenedores UBI en funcionamiento:
-
En las imágenes de
ubi
, el comandoyum
está instalado para permitirle dibujar paquetes. -
En las imágenes de
ubi-minimal
, se incluye el comandomicrodnf
(con un conjunto de características más reducido) en lugar deyum
.
Tenga en cuenta que instalar y trabajar con paquetes de software directamente en contenedores en funcionamiento es sólo para añadir paquetes temporalmente o aprender sobre los repositorios. Consulte la sección "Construir una imagen basada en UBI" para conocer formas más permanentes de construir imágenes basadas en UBI.
A continuación se exponen algunas cuestiones que deben tenerse en cuenta al trabajar con imágenes UBI:
- Cientos de paquetes RPM utilizados en las imágenes de tiempo de ejecución de los flujos de aplicaciones existentes están almacenados en los repositorios yum empaquetados con las nuevas imágenes UBI. Siéntase libre de instalar esos RPMs en sus imágenes UBI para emular el tiempo de ejecución (python, php, nodejs, etc.) que le interese.
-
Debido a que algunos archivos de lenguaje y documentación han sido despojados de la imagen mínima de UBI (
ubi8/ubi-minimal
), ejecutarrpm -Va
dentro de ese contenedor mostrará el contenido de muchos paquetes como faltantes o modificados. Si tener una lista completa de archivos dentro de ese contenedor es importante para usted, considere usar una herramienta comoTripwire
para registrar los archivos en el contenedor y comprobarlo más tarde. -
Después de crear una imagen por capas, utilice
podman history
para comprobar en qué imagen UBI se construyó. Por ejemplo, después de completar el ejemplo del servidor web mostrado anteriormente, escribapodman history johndoe/webserver
para ver que la imagen sobre la que se construyó incluye el ID de la imagen UBI que añadió en la línea FROM del Dockerfile.
Cuando se añade software a un contenedor UBI, los procedimientos difieren para actualizar las imágenes UBI en un host RHEL suscrito o en un sistema no suscrito (o no RHEL). Estas dos formas de trabajar con imágenes UBI se ilustran a continuación.
4.1. Añadir software a un contenedor UBI en el host suscrito
Si está ejecutando un contenedor UBI en un host RHEL registrado y suscrito, el repositorio principal de RHEL Server está habilitado dentro del contenedor UBI estándar, junto con todos los repositorios UBI. Así que el conjunto completo de paquetes de Red Hat está disponible. Desde el contenedor mínimo UBI, todos los repositorios UBI están habilitados por defecto, pero ningún repositorio está habilitado desde el host por defecto.