在无根环境中的基本设置和使用 Podman
用户操作
在允许没有root特权的用户运行Podman之前,管理员必须安装或构建Podman并完成以下配置
cgroup V2Linux内核功能允许用户限制普通用户容器可以使用的资源,如果使用cgroupV2启用了运行Podman的Linux发行版,则可能需要更改默认的OCI运行时。某些较旧的版本runc不适用于cgroupV2,必须切换到备用OCI运行时crun。
[root@localhost ~]# rpm -qa |grep crun
[root@localhost ~]# yum -y install crun //这里我没有所以需要安装,一般centos8系统都自带的
[root@localhost ~]# cd /usr/share/containers/
[root@localhost containers]# pwd
/usr/share/containers
[root@localhost containers]# ls
containers.conf mounts.conf seccomp.json selinux
[root@localhost containers]# vim containers.conf
# Default OCI runtime
#
runtime = "crun" //取消注释并将runc改为crun
#runtime = "runc"
[root@localhost ~]# podman run -d --name web1 -p 80:80 httpd
3ddfdbef3bdb893f09a1c6fcff27cffa8d465db68dccc83be1f5ad57eb31e1a2
[root@localhost ~]# podman ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3ddfdbef3bdb docker.io/library/httpd:latest httpd-foreground 4 seconds ago Up 4 seconds ago 0.0.0.0:80->80/tcp web1
[root@localhost ~]#
安装slirp4netns和fuse-overlayfs
在普通用户环境中使用Podman时,建议使用fuse-overlayfs而不是VFS文件系统,至少需要版本0.7.6。现在新版本默认就是了。
没有就按照这个命令安装
yum -y install slirp4netns
yum -y install fuse-overlayfs
[root@localhost ~]# rpm -qa |grep slirp4netns
slirp4netns-1.1.8-1.module_el8.5.0+890+6b136101.x86_64
[root@localhost ~]# rpm -qa |grep fuse-overlayfs
fuse-overlayfs-1.7.1-1.module_el8.5.0+890+6b136101.x86_64
[root@localhost ~]#
[root@localhost ~]# cd /etc/containers/
[root@localhost containers]# vim storage.conf
# directly.
mount_program = "/usr/bin/fuse-overlayfs" //取消注释
[root&