SVX日記
2024-06-25(Tue) UBIッ9
同じことをRHELでやる場合には問題なくできるはず、なので、職場の環境でやってみることにした。が、RHELのコンテナイメージって、どうやって提供されているのだろう……Red Hatのサイトに置いてあったっけ? ログインしてダウンロードしてdocker importするとか? と、思ったら、なんと一般に公開されているので普通にdocker pullできるらしい。「ubi」で検索すると出てくるのがそれだ。「Universal Base Image」の略らしい。特段の契約なしに使ってもライセンス上の問題はないようだ。太っ腹だな。
# docker search ubi | grep 'ubi9[ -]'
docker.io docker.io/redhat/ubi9 Red Hat Universal Base Image 9
docker.io docker.io/redhat/ubi9-minimal Red Hat Universal Base Image 9 Minimal
docker.io docker.io/redhat/ubi9-micro Red Hat Universal Base Image 9 Micro
docker.io docker.io/redhat/ubi9-init Red Hat Universal Base Image 9 Init
redhat.com registry.access.redhat.com/ubi9 rhcc_registry.access.redhat.com_ubi9
redhat.com registry.access.redhat.com/ubi9-init rhcc_registry.access.redhat.com_ubi9-init
redhat.com registry.access.redhat.com/ubi9-micro rhcc_registry.access.redhat.com_ubi9-micro
redhat.com registry.access.redhat.com/ubi9-minimal rhcc_registry.access.redhat.com_ubi9-minimal
# docker pull registry.access.redhat.com/ubi9
とりあえず、自分が一番良く使うsinatra_skeltonのベースイメージを「fedora:39」から「ubi9:latest」に置き換えてビルドしてみるか……て、アレ? なんだか素でもdnfの処理が速くないか? 100以上のrpmパッケージを導入するってのに、なんだかサクサクな気がするぞ。
# docker-compose build --no-cache
:
Red Hat Universal Base Image 9 (RPMs) - BaseOS 1.1 MB/s | 515 kB 00:00
Red Hat Universal Base Image 9 (RPMs) - AppStre 2.6 MB/s | 2.0 MB 00:00
Red Hat Universal Base Image 9 (RPMs) - CodeRea 784 kB/s | 274 kB 00:00
:
Total 5.6 MB/s | 116 MB 00:20
:
real 1m34.461s
#!/bin/sh
rm /etc/yum.repos.d/*.repo
cat <<EOF >/etc/yum.repos.d/slair.repo
[Slair-BaseOS]
name=Red Hat Enterprise Linux 9.4 - BaseOS
baseurl=http://hostname/slair/indexes/discs/rhel-9.4-x86_64-dvd/BaseOS/
gpgcheck=0
[Slair-AppStream]
name=Red Hat Enterprise Linux 9.4 - AppStream
baseurl=http://hostname/slair/indexes/discs/rhel-9.4-x86_64-dvd/AppStream/
gpgcheck=0
EOF
FROM ubi9:latest
ADD http://hostname/slair/indexes/misc/setup_repo_rhel94.sh /setup_repo_rhel94.sh
RUN bash /setup_repo_rhel94.sh
RUN set -x \
&& dnf install -y \
ruby \
rubygem-bundler \
ruby-devel \
redhat-rpm-config \
:
:
# docker-compose build --no-cache
:
Red Hat Enterprise Linux 9.4 - BaseOS 4.2 MB/s | 2.1 MB 00:00
Red Hat Enterprise Linux 9.4 - AppStream 6.3 MB/s | 7.0 MB 00:01
:
Total 6.3 MB/s | 120 MB 00:19
:
real 1m38.762s
ubiのコンテナでubiのリポジトリにアクセスするのは問題ないが、RHELのオフィシャルISOを食わせる場合は、ライセンス上サブスクリプション契約が必要になる。上記は職場環境での試行なので問題ないが、自宅では実施できない。ということで自宅では素のubiを試してみた。
# docker-compose build --no-cache
:
Red Hat Universal Base Image 9 (RPMs) - BaseOS 1.2 MB/s | 515 kB 00:00
Red Hat Universal Base Image 9 (RPMs) - AppStre 3.5 MB/s | 2.0 MB 00:00
Red Hat Universal Base Image 9 (RPMs) - CodeRea 479 kB/s | 274 kB 00:00
:
Total 9.2 MB/s | 116 MB 00:12
:
real 1m21.979s
改めてFedoraのdnfが遅い理由を確認してみると、ダウンロード速度が遅いのもあるが、リポジトリのカタログが大きいことが主たる原因のようだ。まぁ、Fedoraでしか使えないパッケージは多いからこれは仕方ない。
Fedora 39 - x86_64 2.1 MB/s | 89 MB 00:41
Fedora 39 openh264 (From Cisco) - x86_64 1.4 kB/s | 2.6 kB 00:01
Fedora 39 - x86_64 - Updates 2.5 MB/s | 39 MB 00:15
どうでもいいが、直前の記事を書いた時点では、特段UBIの存在を意識していなかったのに、今回の記事に奇跡的なネタ表題が付けられて満足……つっても、このネタを拾える人がどれだけいるのか……。