Tar
tar 上的 Podman 錯誤,使用者命名空間中可用的 UID 或 GID 可能不足
當我跑步時
podman run
,我遇到了一個特別奇怪的錯誤,❯ podman run -ti --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher:latest ✔ docker.io/rancher/rancher:latest Trying to pull docker.io/rancher/rancher:latest... Getting image source signatures [... blob copying...] Writing manifest to image destination Storing signatures Error processing tar file(exit status 1): potentially insufficient UIDs or GIDs available in user namespace (requested 630384594:600260513 for /usr/bin/etcdctl): Check /etc/subuid and /etc/subgid: lchown /usr/bin/etcdctl: invalid argument Error: Error committing the finished image: error adding layer with blob "sha256:b4b03dbaa949daab471f94bcfd68cbe21c1147e8ec2acfe3f46f1520db48baeb": Error processing tar file(exit status 1): potentially insufficient UIDs or GIDs available in user namespace (requested 630384594:600260513 for /usr/bin/etcdctl): Check /etc/subuid and /etc/subgid: lchown /usr/bin/etcdctl: invalid argument
*“使用者命名空間中可用的 UID 或 GID 可能不足”*是什麼意思,我該如何解決這個問題?
為了解決這個問題,我不得不執行
--storage-opt ignore_chown_errors=true
這個忽略 chmod 錯誤並強制你的容器只支持一個使用者。您可以在“為什麼無根 Podman 無法拉取我的圖像?”中了解這一點。. 請注意,這是一個選項podman
,而不是podman run
。因此使用它看起來像這樣,podman --storage-opt ignore_chown_errors=true run [....]
在我的情況下,因為我沒有核心 overlayfs 驅動程序,所以我需要使用 FUSE 版本(與 一起安裝
sudo apt install fuse-overlayfs
),podman --storage-opt mount_program=/usr/bin/fuse-overlayfs --storage-opt ignore_chown_errors=true run [....]