在ubuntu上安装containerd和nerdctl
以Ubuntu 24.04
为例,安装nerdctl
以及containerd
前置准备
ubuntu
- 安装uidmap
1 | sudo apt update && sudo apt install -y uidmap |
- AppArmor配置
由于懒人安装方式跟单独安装方式bin目录不一致,配置内容会有些许差异,放在下面章节各自介绍
依赖包
- nerdctl(懒人安装下载nerdctl-full即可,该软件包已包含下方所列软件)
- containerd
- rootlesskit & slirp4netns
- buildkit
- cni
懒人安装
解压缩nerdctl-full-2.0.3-linux-amd64.tar.gz
到~/.local
,并将~/.local/bin
目录添加到PATH
1 | tar zxf nerdctl-full-2.0.3-linux-amd64.tar.gz -C ~/.local |
看起来已完成安装,但还不行,当你执行nerdctl
,这里将会看到一些报错,以下报错表示先需要安装运行rootless containerd
1 | nerdctl |
安装rootless containerd第一次尝试,以下报错是因为ubuntu 24.04加强了应用限制,需要通过AppArmor配置非特权用户命名空间应用
1 | containerd-rootless-setuptool.sh install |
配置apparmor
1 | # rootlesskit放在了~/.local/bin目录 |
安装并启动rootless containerd
1 | containerd-rootless-setuptool.sh install |
为nerdctl build
安装并运行buildkit
1 | # nerdctl build |
到这里,nerdctl以及containerd已经基本可用了
单独安装
安装软件
安装containerd
1 | tar zxf /vagrant/containerd-2.0.2-linux-amd64.tar.gz |
安装nerdctl
1 | # 安装到/usr/local/bin/ |
安装rootlesskit以及slirp4netns
1 | # 安装到/usr/local/bin/ |
安装buildkit
1 | tar zxf buildkit-v0.19.0.linux-amd64.tar.gz |
安装cni
1 | # cni安装目录 |
环境初始化
执行nerdctl
,报错需要安装运行rootless containerd
1 | nerdctl |
安装rootless containerd第一次尝试,报错表示需要配置AppArmor授权
1 | containerd-rootless-setuptool.sh install |
配置apparmor
1 | # rootlesskit放在了/usr/local/bin目录 |
安装并启动rootless containerd
1 | containerd-rootless-setuptool.sh install |
为nerdctl build
安装并运行buildkit
1 | containerd-rootless-setuptool.sh install-buildkit |
完成安装!