🦭

Podman v2.1.1でルートレスモードのコンテナ実行ができない

2021/01/02に公開

下記内容は記事公開時点(2021/1/2)の内容です。現在はdnf upgradeを実行するとPodman v.3.0.0以降にアップデートされます。

内容

CentOS Stream release 8の新規インストール後、Podmanでルートレスモードでコンテナ実行できないトラブルに遭遇。

補足。インストールにはCentOS-Stream-8-x86_64-20201211-dvd1.isoを使用。
このISOではPodman v.2.1.1がインストールできた

  • UBI7をルートレスモードで実行しようとしてエラー発生
$ podman -v
podman version 2.1.1
$ podman run -itd --name test ubi7
Trying to pull registry.access.redhat.com/ubi7...
Getting image source signatures
Copying blob be73321c7956 done
Copying blob eae19a56e9c6 done
Copying config 063b2549dd done
Writing manifest to image destination
Storing signatures
Error: container_linux.go:370: starting container process caused: process_linux.go:459: container init caused: rootfs_linux.go:59: mounting "sysfs" to rootfs at "/sys" caused: operation not permitted: OCI runtime permission denied error

原因

Podman v2.1.1のバグの模様。BugzillaにCentOS Stream 8で再現したコメントあり。
https://bugzilla.redhat.com/show_bug.cgi?id=1903983

対処

Podmanをv2.2.xにアップデートする。
新規インストール後のCentOS Stream 8の場合は、とりあえずdnf upgradeを実行

$ sudo dnf upgrade
  • Podmanのアップデート後、動作確認
$ podman -v
podman version 2.2.1
$ podman run -itd --name test ubi7
2698a02e18fd7177534fdc084c023dc0c50923b807cdfa6c2787d3c310cd8799
$ podman ps -a
CONTAINER ID  IMAGE                                   COMMAND    CREATED        STATUS            PORTS   NAMES
2698a02e18fd  registry.access.redhat.com/ubi7:latest  /bin/bash  6 seconds ago  Up 6 seconds ago          test
$ podman exec test id
uid=0(root) gid=0(root) groups=0(root)

無事にルートレスモードでコンテナ実行ができるようになりました。

Discussion