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
EOFFROM 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.762subiのコンテナで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の存在を意識していなかったのに、今回の記事に奇跡的なネタ表題が付けられて満足……つっても、このネタを拾える人がどれだけいるのか……。
