实验环境:centos7.7.1908
参考文档:
containerd (nerdctl) 依赖项 |无根容器 (rootlesscontaine.rs)
[CentOS 7] 无法安装 containerd-rootless-setuptool.sh ('[ERROR] 需要 systemd (systemctl --user)') ·期刊 #686 ·containerd/nerdctl ·GitHub
构建 Moby (Docker) 并单独运行 runc 和 containerd 来了解容器的基础知识 (zenn.dev)
首先根据文档1下载nerdctl
wget https://github.com/containerd/nerdctl/releases/download/v1.6.2/nerdctl-full-1.6.2-linux-amd64.tar.gz
tar -xzf nerdctl-full-1.6.2-linux-amd64.tar.gz
设置普通用户testuser
useradd -m -s /bin/bash testuser
su testuser
然后在本终端设置环境变量,之后按照文档1执行 containerd-rootless-setuptool.sh install
export PATH=$PATH:/containerd/bin
containerd-rootless-setuptool.sh install
然后根据文档2的提示,直接运行containerd-rootless.sh
在root下执行yum install iproute -y,然后重新运行
上面这个错误好像是没有设置cni网络导致的,但是后面我设置了一下cni网络还是存在这个错误
然后重启一个终端运行一个容器试一下
nerdctl run hello-world
接下来要根据文档3配置一下cni网络,不过上面的错误信息提示要把cni放到/opt/cni/bin下,这个操作的citrix中/opt我没有写权限
在root下执行相关操作
wget https://github.com/containernetworking/plugins/releases/download/v1.1.1/cni-plugins-linux-arm64-v1.1.1.tgz
tar xvf cni-plugins-linux-arm64-v1.1.1.tgz -C cni/
cd cni/
然后在root用户下把cni放到/opt/cni/bin下试一下
mkdir -p /opt/cni/bin
cp * /opt/cni/bin/
[testuser@e8d55414b4ef /]$ nerdctl run hello-world
FATA[0000] failed to mount /run/user/1000/containerd-mount2759511587: operation not permitted
这个问题网上没有找到解决方案。上面下载的cni需要放到/opt/cni/bin下,在citrix中不知道可不可以。