SVX日記
2024-06-23(Sun) ディスクイメージサーバは爆速コンテナビルドの夢を見るか?
スレイヤと読むが、ドラゴンスレイヤではなく、ドラゴンズレアのモジりで、ソース(コード)の棲処を意味する「Source's Lair」。略して「's Lair」。元々はソースコードの閲覧が主な用途だった名残だ。で、3回目のリニューアルなので「's Lair III」まぁ、大層な名前の割には大したものではないけれど、歴代、LinuxOSのインストール、各パッケージのアプデ、ソースコードの調査などの作業を大幅に効率化してくれるので、職場で重宝されてきたサービスである。
リニューアルする主な理由はコンテナ化だ。それに伴い、pvにISOを置くだけで勝手にマウントしてHTTPアクセスできるようになる機能を加えた。ISOイメージの中身へHTTPアクセスできるということは、dnfのリポジトリサーバが務まるということだ。インストール後の、各パッケージのアプデに便利だ。んぁ? そこでフト思った。コンテナビルドの時のdnfによるパッケージインストールもそこからやらせられたりしないか? それが可能になれば、コンテナビルドが爆速になる気がするんだが。遠いオフィシャルリポジトリへのアクセスが不要になるのだから。
#!/bin/sh
rm /etc/yum.repos.d/*.repo
cat <<EOF >/etc/yum.repos.d/slair.repo
[slair]
name=Fedora 40 - x86_64
baseurl=http://hostname/indexes/discs/Fedora-Server-dvd-x86_64-40-1.14/
gpgcheck=0
EOF
FROM fedora:40
ADD http://hostname/indexes/misc/setup_repo_rhelXX.sh /setup_repo_fedora40.sh
RUN bash /setup_repo_fedora40.sh
RUN set -x \
&& dnf install -y \
ruby \
procps-ng \
iputils \
iproute \
diffutils \
less \
&& rm -rf /var/cache/dnf/* \
&& dnf clean all
:
:
今回、FedoraのServer版のISOを使ったのだが、中身を見ると大半のパッケージが入っていない。あぁ、そうか。Everything版のISOじゃないとな……と、思ったら、だいぶ前にその提供は終わっていたのであった。ちぇ……とはいえ、同じことをRHELでやる場合には問題なくできるはずなので、今回はそれでヨシとしよう。作った物件のgitリポジトリを以下に公開しておく。
https://itline.jp/git/slair
https://itline.jp/git/sinatra_skelton