11 既知の問題

この章では、現在のリリースのPodmanにおける既知の問題について説明します。

非特権ユーザーに対してQuadletがOracle Linux 8で失敗する

Quadletは、root権限がないとOracle Linux 8での実行に失敗します。Quadletサービスの開始時に、次のエラー・メッセージが表示される場合があります:

Error: mkdir /sys/fs/cgroup/blkio/user.slice/runtime: permission denied

または、crunを実行時に使用している場合、次のエラー・メッセージが表示される場合があります:

Error: OCI runtime error: crun: the requested cgroup controller `pids` is not available"

この問題のため、Oracle Linux 8ではPodmanシェルを使用できません。

(バグ36076771)

非特権ユーザーがボリュームを確立しようとすると、Podmanビルド・コマンドが「Operation Not Permitted」で失敗する

UEK 6 Update 3またはRed Hat Compatible Kernel (RHCK)を実行しているOracle Linux 8ホストでは、ルートレスPodmanコンテナでボリュームをマウントまたはアンマウントできません。通常、これを行おうとすると、次のエラー・メッセージが表示されます:

...
error running container: from /usr/bin/runc creating container for [/bin/sh -c touch /tmp/myfile1]: 
time="2024-02-06T00:22:07Z" level=warning msg="unable to get oom kill count" error="no directory 
specified for memory.oom_control" time="2024-02-06T00:22:07Z" level=error msg="runc create failed: 
unable to start container process: error during container init: error mounting 
\"/home/podman_user/.local/share/containers/storage/overlay-containers/2f80607e49897c5a2a8020bfbc520ddf2ee48157722fe2e207b3491ada5df0c9/userdata/overlay/1738053957/merge\" 
to rootfs at \"/data\": 
mount /home/podman_user/.local/share/containers/storage/overlay-containers/2f80607e49897c5a2a8020bfbc520ddf2ee48157722fe2e207b3491ada5df0c9/userdata/overlay/1738053957/merge:
/data (via /proc/self/fd/7), 
data: lowerdir=/home/podman_user/.local/share/containers/storage/overlay/fe866d78514c04dd5df86d3ff2fff3288c675a52874f114c36f7d94aa1666bd6/merged/data,
upperdir=/home/podman_user/.local/share/containers/storage/overlay-containers/2f80607e49897c5a2a8020bfbc520ddf2ee48157722fe2e207b3491ada5df0c9/userdata/overlay/1738053957/upper,
workdir=/home/podman_user/.local/share/containers/storage/overlay-containers/2f80607e49897c5a2a8020bfbc520ddf2ee48157722fe2e207b3491ada5df0c9/userdata/overlay/1738053957/work,
userxattr,context=\"system_u:object_r:container_file_t:s0:c10,c760\": operation not permitted"
...

その機能が必要な場合は、UEK7から起動するようにOracle Linux 8ホストをアップグレードします。詳細は、Unbreakable Enterprise Kernelドキュメントを参照してください。

Oracle Linux 9ホストはこの問題の影響を受けません。

(バグ36250501)

IMAが有効な非特権ユーザーに対してPodmanポッドの作成がOracle Linux 9で失敗する

Integrity Measurement Architecture (IMA)が有効で強制されるOracle Linux 9などのシステムでは、非特権ユーザーとしてpodman pod createを実行すると、次のようなエラーで失敗する可能性があります。

...
RemoveOptions:copier.RemoveOptions{All:false}}: copier: put: error setting
extended attributes on "/catatonit": error setting value of extended
attribute "security.ima" on "/catatonit": operation not permitted

この問題は、podmanまたはpodman-catatonitパッケージの前にrpm-plugin-imaパッケージがインストールされている場合に発生します。rpm-plugin-imaパッケージがインストールされている場合、コンテナに初期サービスを提供するためにPodmanで使用されるcatatonitバイナリは、IMA署名付きファイルであり、非特権ユーザーはファイル・システムにセキュリティ拡張属性(xattrs)を設定する権限がありません。

この問題を回避するには、rpm-plugin-imaをアンインストールし、podmanパッケージを再インストールします。Oracle Linux 9.2以降の新規インストールでは、rpm-plugin-imaパッケージはデフォルトではインストールされず、問題が発生する可能性が低いことに注意してください。また、Podmanバージョン4.4以降では、catatonitバイナリがpodmanパッケージに含まれているため、podman-catatonitパッケージをインストールする必要はありません。

(バグ34578553)

非特権ユーザーがコンテナ・ストレージにアクセスできない

一部の環境で、コンテナ・ストレージが非特権ユーザーのマウントに失敗することがあります。通常、次のように表示されます。

$ podman run --name c_uidmap --uidmap 0:10000:10000
localhost:5555/os/oraclelinux:7 true
Error: error creating container storage: error creating an ID-mapped copy of
layer "a8c980a5275b9ef8dc35f68daacc8fc82e463cd25adeb84ccda98b58ce84f122":
exit status 1: error during chown: error mapping container ID pair
idtools.IDPair{UID:10000, GID:10000} for
"usr/lib64/python2.7/SimpleXMLRPCServer.pyo" to host: Container ID 10000
cannot be mapped to a host ID

この問題は、コンテナ・マウント・オプションを更新してindex=offパラメータを含めることで解決できます。/etc/containers/storage.confを編集して、この変更を加えます。次に例を示します:

mountopt = "nodev,metacopy=on,index=off"

(バグ34161379)

X509証明書がレガシーの共通名フィールドに依存する

Oracle Linux 8.4に含まれているPodmanバージョン3.0のリリースでは、適切なサブジェクト代替名(SAN)が含まれていない証明書のTLS検証が必要なPodmanコマンドは、次のエラーを返します。

x509: certificate relies on legacy Common Name field, use SANs or
temporarily enable Common Name matching with GODEBUG=x509ignoreCN=0

この問題は、Podmanの構築に使用する新しいバージョンのGoコンパイラによるものです。この問題は、自己署名証明書を使用するローカルまたはプライベートのイメージ・レジストリを操作する場合に発生します。

適切なSANを使用するように証明書を更新するか、Podmanを実行する環境でGODEBUG環境変数のx509ignoreCN=0を設定してください。たとえば、SANが設定されていない自己署名証明書の使用を継続する場合は、$HOME/.bashrcファイルに次の行を追加します。

export GODEBUG=x509ignoreCN=0

(バグ32821677)

使用可能なコンテナがない場合にpodman attach --latestを実行するとパニックが発生する

podman attach --latestコマンドを実行したときに、環境内にコンテナが存在していないと、次のようなランタイム・エラーが発生します。

sudo podman  attach --latest
panic: runtime error: index out of range
...

このエラーは、環境内にコンテナがあるとすぐに発生しなくなることに注意してください。コンテナが存在しない場合にこのコマンドを実行しても、意味はありません。

(バグ29882537)

デフォルトのpodman detachキー・シーケンスを使用するための要件

コンテナのデタッチに使用するデフォルトのキー・シーケンス(CTRL+PCTRL+Q)には、デタッチ(pseudo-tty)を処理できるコンソールと、制御シグナルを渡すための入力チャネル(stdin)が必要です。それ以外の場合は、podman-attach(1)マニュアル・ページの説明にあるように、コンテナを作成して、podman attach -lコマンドでアタッチしてから、デフォルトのキー・シーケンスを使用してコンテナを終了またはデタッチすることはできません。

デフォルトのキー・シーケンスCTRL+PCTRL+Qを使用してコンテナをデタッチできるようにするには、次のいずれかの方法を使用してコンテナを作成します。どちらの場合も、擬似ttyが作成されるように、-tオプションを使用してください。

  • バックグラウンドでコンテナを作成します。

    sudo podman run --rm -dt container-registry.oracle.com/os/oraclelinux:7-slim top -b

    その後で、podman attach -lコマンドを使用してコンテナをアタッチし、キー・シーケンスのCTRL+PCTRL+Qを使用するとコンテナをデタッチできます。

  • 対話形式でコンテナを作成します。

    sudo podman run --rm -it container-registry.oracle.com/os/oraclelinux:7-slim top -b

    対話方式でコンテナを作成すると、自動的にコンテナがアタッチされます。その後で、キー・シーケンスのCTRL+PCTRL+Qを使用するとコンテナをデタッチできます。

    詳細は、podman(1)およびpodman-attach(1)マニュアル・ページを参照してください。

(バグ29882852)

不正な名前を指定してイメージをプルしようとすると認証エラーが発生する

podman pull image-name コマンドを実行してイメージをプルしようとしたが、イメージの正しい名前またはフルネームを指定していない場合は、認証エラーが発生します。

たとえば、イメージの正しい名前oraclelinux:ol7-slimではなく、イメージの名前としてoracle:ol7-slimが指定されているため、次のエラーが表示されます。

podman pull oracle:ol7-slim
Trying to pull registry.redhat.io/oracle:latest...Failed
Trying to pull quay.io/oracle:latest...Failed
Trying to pull docker.io/oracle:latest...Failed
error pulling image "oracle:ol7-slim": unable to pull oracle:ol7-slim: 3 errors
occurred:

* Error determining manifest MIME type for
docker://registry.redhat.io/oracle:ol7-slim: unable to retrieve auth token:
invalid username/password
* Error determining manifest MIME type for docker://quay.io/oracle:ol7-slim:
Error reading manifest latest in quay.io/oracle: error parsing HTTP 404
response body: invalid character '<' looking for beginning of value:
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2 Final//EN\">\n<title>404 Not
Found</title>\n<h1>Not Found</h1>\n<p>The requested URL was not found on the
server.  If you entered the URL manually please check your spelling and try
again.</p>\n"
* Error determining manifest MIME type for docker://oracle:ol7-slim: Error
reading manifest latest in docker.io/library/oracle: errors:
denied: requested access to the resource is denied
unauthorized: authentication required

このエラーが発生しないようにするには、podman pullコマンドには必ず正しいイメージ名を指定します。

(バグ29894231)

Docker Hubのoraclelinuxイメージからlatestタグが欠落している

Docker Hubからoraclelinuxイメージを検索またはプルしようとすると、latestタグが存在しないため、「マニフェストが不明」というエラーで失敗します。

podman pull docker://docker.io/library/oraclelinux:latest
Trying to pull repository docker.io/library/oraclelinux ...
manifest for oraclelinux:latest not found: manifest unknown: manifest unknown
manifest for oraclelinux:latest not found: manifest unknown: manifest unknown

この問題は、latestタグがデフォルトで存在していると想定するskopeoユーティリティにも影響があります。

skopeo inspect docker://docker.io/library/oraclelinux
FATA[0001] Error parsing image name "docker://docker.io/library/oraclelinux": 
Error reading manifest latest in docker.io/library/oraclelinux: 
manifest unknown: manifest unknown

latestタグは、ユーザーの混乱を軽減するために、2020年6月にOracle Linuxの公式イメージから削除されました。oraclelinux:latestを使用したダウンストリーム・イメージ(またはタグなしのイメージ)は、将来のビルドのためにoraclelinux:7に更新する必要があります。最小限のイメージ・サイズに対応する-slimバリアントの使用をお薦めします。

詳細は、「Oracle Linuxコンテナ・イメージのタグ付け規則」を参照してください。

(バグ31524440)