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的配置目录

posted @ 2022-01-10 16:12  turingguo  阅读(1406)  评论(0)    收藏  举报