7.9. 获取 UBI 容器镜像源代码
源代码以可下载容器镜像的形式提供给所有基于 UBI 的红帽镜像。虽然源容器镜像被打包为容器,但无法运行。要在您的系统上安装红帽源容器镜像,请使用 skopeo
命令,而不是 podman pull
命令。
源容器镜像根据其代表的二进制容器命名。例如,对于特定标准 RHEL UBI 9 容器 registry.access.redhat.com/ubi9:8.1-397
附加 -source
来获取源容器镜像(registry.access.redhat.com/ubi9:8.1-397-source
)。
先决条件
-
container-tools
元数据包已安装。
流程
使用
skopeo copy
命令将源容器镜像复制到本地目录中:$ skopeo copy \ docker://registry.access.redhat.com/ubi9:8.1-397-source \ dir:$HOME/TEST ... Copying blob 477bc8106765 done Copying blob c438818481d3 done ... Writing manifest to image destination Storing signatures
使用
skopeo inspect
命令检查源容器镜像:$ 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 }
解包所有内容:
$ cd $HOME/TEST $ for f in $(ls); do tar xvf $f; done
检查结果:
$ find blobs/ rpm_dir/ blobs/ blobs/sha256 blobs/sha256/10914f1fff060ce31388f5ab963871870535aaaa551629f5ad182384d60fdf82 rpm_dir/ rpm_dir/gzip-1.9-4.el8.src.rpm
如果结果正确,则镜像可以使用。
注意
发布容器镜像后可能需要几小时时间才能使用其相关源容器。
其他资源
-
skopeo-copy
手册页 -
skopeo-inspect
手册页