我在 RHEL 7.6 上安装了 podman 并且可以使用 sudo 运行正常的 docker 命令
sudo podman run hello-world
有没有办法在没有 sudo 的情况下运行它,而不使用用户名空间(类似于在使用常规
docker
命令时将您的用户添加到 docker
组)?我知道当以非 root 用户身份运行时,podman 使用用户名空间。但我无法在机器上启用/设置 suid(LDAP 等)
目前,当以非 root 用户身份运行时,我得到了这个
user namespaces are not enabled in /proc/sys/user/max_user_namespaces
ERRO[0000] cannot re-exec process
最佳答案
如果您正在运行 Podman 并且您不是 root 用户并且您没有使用 sudo,即“rootless”,那么您或您的管理员必须在系统上启用用户命名空间才能使其完全工作。只有极少数命令(例如“podman version”)可以在没有设置用户命名空间的无根环境中工作。
您看到的错误必须由具有管理权限的人使用 sysctl user.max_user_namespaces=15000
之类的命令来处理。这将在系统上启用 15,000 个用户名空间。此外,需要在系统上安装 shadows-utils 包,并且/etc/subuid 和/etc/subgid 文件必须具有如下条目:
用户名:100000:65536
每个用户都希望为他们启用用户名空间。
关于containers - 在没有 sudo 的情况下运行特权 podman(并且没有用户名空间),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56296932/