8.20. コンテナー

ベータ版 GPG キーで署名されたコンテナーイメージがプルできない

現在、RHEL 9 Beta コンテナーイメージをプルしようとすると、podman が終了し、エラーメッセージError:Source image rejected:None of the signatures were accepted が表示されます。現在のビルドでは、RHEL ベータ版の GPG キーをデフォルトで信頼しないように設定されているため、イメージのプルに失敗します。

回避策としては、Red Hat Beta GPG キーがローカルシステムに保存されていることを確認し、podman image trust setコマンドで適切な beta 名前空間の既存の信頼範囲を更新します。

ベータ版の GPG キーがローカルに保存されていない場合は、以下のコマンドを実行することで、そのキーをプルすることができます。

sudo wget -O /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta https://www.redhat.com/security/data/f21541eb.txt

Beta GPG キーを信頼済みとしてネームスペースに追加するには、次のいずれかのコマンドを使用します。

$ sudo podman image trust set -f /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta registry.access.redhat.com/namespace

および

$ sudo podman image trust set -f /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta registry.redhat.io/namespace

namespaceubi9-betaまたはrhel9-betaに置き換えてください。

(BZ#2020026)

"X509: certificate signed by unknown authority" のエラーで Podman はコンテナーをプルできない

独自の CA 証明書で署名された独自の内部レジストリーがある場合は、証明書をホストマシンにインポートする必要があります。そうでない場合は、エラーが発生します。

x509: certificate signed by unknown authority

ホストで CA 証明書をインポートします。

# cd /etc/pki/ca-trust/source/anchors/
[anchors]# curl -O <your_certificate>.crt

[anchors]# update-ca-trust

これで、内部レジストリーからコンテナーイメージをプルできます。

(BZ#2027576)

古いコンテナーイメージ内で systemd を実行すると動作しない

古いコンテナーイメージ (例:centos:7) で 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

(JIRA:RHELPLAN-96940)

podman system connection add および podman image scp が失敗する

Podman は、RSA 鍵交換に SHA-1 ハッシュを使用します。RHEL 9 では SHA-1 ハッシュが鍵交換に受け入れられないため、RSA キーを使用するマシン間の通常の SSH 接続は機能します。ただし、podman system connection add および podman image scp コマンドは同じ RSA 鍵を使用して機能しません。

$ podman system connection add --identity ~/.ssh/id_rsa test_connection $REMOTE_SSH_MACHINE
Error: failed to connect: ssh: handshake failed: ssh: unable to authenticate, attempted methods [none publickey], no supported methods remain

この問題を回避するには、ED25519 鍵を使用します。

  1. リモートマシンに接続します。

    $ ssh -i ~/.ssh/id_ed25519 $REMOTE_SSH_MACHINE
  2. Podman サービスの ssh 宛先を記録します。

    $ podman system connection add --identity ~/.ssh/id_ed25519 test_connection $REMOTE_SSH_MACHINE
  3. ssh の宛先が記録されたことを確認します。

    $ podman system connection list

RHBA-2022:5951 アドバイザリーリリースでは、この問題が修正されています。

(JIRA:RHELPLAN-121180)