7.9. UBI コンテナーイメージソースコードの取得
すべての Red Hat UBI ベースのイメージのソースコードは、ダウンロード可能なコンテナーイメージの形で入手できます。コンテナーとしてパッケージ化されているにもかかわらず、ソースコンテナーイメージを実行できません。システムに Red Hat ソースコンテナーイメージをインストールするには、podman pull
コマンドではなく、skopeo
コマンドを使用します。
ソースコンテナーイメージは、それらが表すバイナリーコンテナーに基づいて名前が付けられます。たとえば、ある標準的な 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
の man ページ -
skopeo-inspect
の man ページ