Podman - 以 rootless 方式运行 podman

OpenShift / RHEL / DevSecOps / Ansible 汇总目录

以 rootless 方式运行 podman

当在 CentOS 或 RHEL 上使用非 root 用户运行 podman 操作 Image 的时候,可能会遇到 “there might not be enough IDs available in the namespace” 的问题而无法运行容器镜像。该问题是由于 rootless 用户使用的 uid 和 gid 范围不能和 root 的冲突,而且如果有多个 rootless 用户,每个 rootless 用户的也不能冲突。

以下以 podman 用户为例说明如何解决该问题。首先需要查看 user 和 group 使用的 uid 和 gid 最大值,例如 65534。

$ cat /etc/passwd|awk -F ':' '{print $3,$4}'|sort
$ cat /etc/group|awk -F ':' '{print $3}'|sort

可以将 podman 用户使用的 id 设置从 100000 开始(大于 65534),可用数量为 65536。

$ echo podman:100000:65536 >> /etc/subuid
$ echo podman:100000:65536 >> /etc/subgid

执行以下命令,确认配置生效后就可以正常操作 Image 了。

$ podman system migrate 
$ podman unshare cat /proc/self/uid_map
         0       1000          1
         1     100000      65536
$ podman pull docker.io/openshift/hello-openshift

参考

https://www.redhat.com/sysadmin/controlling-access-rootless-podman-users
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux_atomic_host/7/html-single/managing_containers/index#upgrade_to_rootless_containers

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值