10.21. コンテナー
UBI イメージを再現できない
podman build コマンドと buildah build コマンドを、次の引数を指定して呼び出すと、同じ入力セットを使用する複数のビルド間で不整合が生じるのを回避できます。
-
--rewrite-timestamp -
--source-date-epoch(ビルド開始時に設定する同等のビルド引数または環境変数の値)
この問題を回避するには、ビルドの不整合を最小限に抑えるために、--rewrite-timestamp および --source-date-epoch 引数を指定して podman build または buildah build コマンドを呼び出します。また、$SOURCE_DATE_EPOCH 環境変数が設定されている場合は、非決定的な出力が生成されないように、RUN 命令で呼び出されるツールを更新してください。
ツールまたはツールのバージョンによっては、それでも非決定的な出力が生成される可能性があり、特定のイメージを再現可能な形でビルドできない可能性があります。
古いコンテナーイメージ内で systemd を実行すると動作しない
古いコンテナーイメージ (例:centos:7) で systemd を実行しても動作しません。
podman run --rm -ti centos:7 /usr/lib/systemd/systemd
$ podman run --rm -ti centos:7 /usr/lib/systemd/systemd
Storing signatures
Failed to mount cgroup at /sys/fs/cgroup/systemd: Operation not permitted
[!!!!!!] Failed to mount API filesystems, freezing.
回避策: 以下のコマンドを使用してください。
mkdir /sys/fs/cgroup/systemd mount none -t cgroup -o none,name=systemd /sys/fs/cgroup/systemd podman run --runtime /usr/bin/crun --annotation=run.oci.systemd.force_cgroup_v1=/sys/fs/cgroup --rm -ti centos:7 /usr/lib/systemd/systemd
# mkdir /sys/fs/cgroup/systemd
# mount none -t cgroup -o none,name=systemd /sys/fs/cgroup/systemd
# podman run --runtime /usr/bin/crun --annotation=run.oci.systemd.force_cgroup_v1=/sys/fs/cgroup --rm -ti centos:7 /usr/lib/systemd/systemd
Jira:RHELPLAN-96940[1]
FIPS 対応ホストで FIPS bootc イメージの作成が失敗する
FIPS モードを有効にした Podman を使用してホスト上にディスクイメージを構築すると、update-crypto-policies パッケージが原因で終了コード 3 で失敗します。
Enable the FIPS crypto policy crypto-policies-scripts is not installed by default in RHEL-10
# Enable the FIPS crypto policy
# crypto-policies-scripts is not installed by default in RHEL-10
RUN dnf install -y crypto-policies-scripts && update-crypto-policies --no-reload --set FIPS
回避策: FIPS モードを無効にして bootc イメージをビルドします。