linux安装containerd和nerdctl
目前nerdctl最新版是2.1.2, containerd 2.0
nerdctl-full-2.1.2中包含了containerd 2.0,cni, nerdctl,所以直接下载这个包即可,如果nerdctl有更新,可以把以下代码中的2.1.2替换为对应版本号即可
对于root用户
wget https://gh-proxy.com/https://github.com/containerd/nerdctl/releases/download/v2.1.2/nerdctl-full-2.1.2-linux-amd64.tar.gz sudo tar Cxzvf /usr/local nerdctl-full-2.1.2-linux-amd64.tar.gz sudo cp /usr/local/lib/systemd/system/*.service /etc/systemd/system/ sudo systemctl enable buildkit containerd sudo systemctl start buildkit containerd
增加镜像仓库,路径不存在就手动创建
sudo nano /etc/containerd/certs.d/docker.io/hosts.toml
server = "https://docker.io"
[host."https://dockerproxy.net"] capabilities = ["pull", "resolve"]
[host."https://docker.m.daocloud.io"] capabilities = ["pull", "resolve"]
对于非root用户
wget https://gh-proxy.com/https://github.com/containerd/nerdctl/releases/download/v2.1.2/nerdctl-full-2.1.2-linux-amd64.tar.gz
sudo tar Cxzvf /usr/local nerdctl-full-2.1.2-linux-amd64.tar.gz
containerd-rootless-setuptool.sh install
如果提示exec: "newuidmap": executable file not found in $PATH
. 则需要安装uidmap sudo apt-get install -y uidmap
如果提示Failed to start containerd.service: Unit dbus.socket not found.
则需要安装dbus-user-session sudo apt-get install -y dbus-user-session
增加的镜像仓库内容与root用户的一致,路径是~/.config/containerd/certs.d/docker.io/hosts.toml
注意,这个rootless-setuptool目前不支持centOS 7及其以下。
完成后nerdctl的使用方法就和docker基本一致
nerdctl compose与docker-compose 用法基本一致
清除所有镜像容器卷网络并卸载
nerdctl system prune
containerd-rootless-setuptool.sh uninstall
如果是root安装的记得加sudo,并根据最后输出的结果执行删除containerd的配置目录