4.7. Obtener el código fuente de la imagen del contenedor UBI
El código fuente está disponible para todas las imágenes basadas en Red Hat UBI en forma de contenedores descargables. Antes de continuar, tenga en cuenta los contenedores de código fuente de Red Hat:
Las imágenes de contenedor de origen no se pueden ejecutar, a pesar de estar empaquetadas como contenedores. Para instalar las imágenes de contenedor de origen de Red Hat en su sistema, utilice el comando
skopeo command
, en lugar de utilizarpodman pull
.-
Utilice el comando
skopeo copy
para copiar una imagen de contenedor de origen en un directorio de su sistema local. -
Utilice el comando
skopeo inspect
para inspeccionar la imagen del contenedor de origen.
-
Utilice el comando
-
Para más detalles sobre el comando
skopeo
, vea la Sección 1.5. Uso de skopeo para trabajar con registros de contenedores. -
Las imágenes del contenedor fuente se nombran en base a los contenedores binarios que representan. Por ejemplo, para un contenedor estándar RHEL UBI 8 en particular
registry.access.redhat.com/ubi8:8.1-397
anexa-source
para obtener la imagen del contenedor fuente (registry.access.redhat.com/ubi8:8.1-397-source
). -
Una vez que la imagen del contenedor de origen se ha copiado en un directorio local, puede utilizar una combinación de comandos
tar
,gzip
, yrpm
para trabajar con ese contenido. - Pueden pasar varias horas desde que se publica una imagen de contenedor hasta que su contenedor fuente asociado esté disponible.
Procedimiento
Utilice el comando
skopeo copy
para copiar la imagen del contenedor de origen en un directorio local:$ skopeo copy \ docker://registry.access.redhat.com/ubi8:8.1-397-source \ dir:$HOME/TEST ... Copying blob 477bc8106765 done Copying blob c438818481d3 done Copying blob 26fe858c966c done Copying blob ba4b5f020b99 done Copying blob f7d970ccd456 done Copying blob ade06f94b556 done Copying blob cc56c782b513 done Copying blob dcf9396fdada done Copying blob feb6d2ae2524 done Copying config dd4cd669a4 done Writing manifest to image destination Storing signatures
Utilice el comando
skopeo inspect
para inspeccionar la imagen del contenedor de origen:$ skopeo inspect dir:$HOME/TEST { "Digest": "sha256:7ab721ef3305271bbb629a6db065c59bbeb87bc53e7cbf88e2953a1217ba7322", "RepoTags": [], "Created": "2020-02-11T12:14:18.612461174Z", "DockerVersion": "", "Labels": null, "Architecture": "amd64", "Os": "linux", "Layers": [ "sha256:1ae73d938ab9f11718d0f6a4148eb07d38ac1c0a70b1d03e751de8bf3c2c87fa", "sha256:9fe966885cb8712c47efe5ecc2eaa0797a0d5ffb8b119c4bd4b400cc9e255421", "sha256:61b2527a4b836a4efbb82dfd449c0556c0f769570a6c02e112f88f8bbcd90166", ... "sha256:cc56c782b513e2bdd2cc2af77b69e13df4ab624ddb856c4d086206b46b9b9e5f", "sha256:dcf9396fdada4e6c1ce667b306b7f08a83c9e6b39d0955c481b8ea5b2a465b32", "sha256:feb6d2ae252402ea6a6fca8a158a7d32c7e4572db0e6e5a5eab15d4e0777951e" ], "Env": null }
Para desencajar todo el contenido, escriba:
$ cd $HOME/TEST $ for f in $(ls); do tar xvf $f; done
Para comprobar los resultados, escriba:
$ find blobs/ rpm_dir/ blobs/ blobs/sha256 blobs/sha256/10914f1fff060ce31388f5ab963871870535aaaa551629f5ad182384d60fdf82 rpm_dir/ rpm_dir/gzip-1.9-4.el8.src.rpm
- Empezar a examinar y utilizar el contenido.