使用Containerd构建容器镜像
一. 安装Containerd
1.1. 下载软件包
| https://github.com/containerd/containerd/releases |
| wget https://github.com/containerd/containerd/releases/download/v1.6.8/cri-containerd-cni-1.6.8-linux-amd64.tar.gz |
1.2. 安装配置
1.2.1. 生成配置文件
| mkdir -p /etc/containerd |
| containerd config default |sed 's@/var/lib/containerd@/apps/containerd@' |sed '/SystemdCgroup/s/false/true/' |sed '/sandbox_image/s@k8s.gcr.io@registry.aliyuncs.com/google_containers@'|sed 's@config_path.*@config_path = "/etc/containerd/certs.d"@' > /etc/containerd/config.toml |
1.2.3. 配置镜像加速
| mkdir /etc/containerd/certs.d/docker.io -pv |
| cat > /etc/containerd/certs.d/docker.io/hosts.toml << EOF |
| server = "https://docker.io" |
| [host."https://docker.mirrors.ustc.edu.cn/"] |
| capabilities = ["pull", "resolve"] |
| EOF |
1.2.4. 配置内核参数
| cat > /etc/sysctl.d/containerd.conf << EOF |
| net.ipv4.ip_forward = 1 |
| net.bridge.bridge-nf-call-iptables = 1 |
| net.bridge.bridge-nf-call-ip6tables = 1 |
| EOF |
| |
| sysctl -p |
1.2.5. 安装依赖包
1.3. 启动Containerd
| systemctl daemon-reload |
| systemctl enable --now containerd |
二. 安装BuildKit
2.1. 下载软件包
| |
| wget https://github.com/moby/buildkit/releases/download/v0.10.3/buildkit-v0.10.3.linux-amd64.tar.gz |
2.2. 安装配置
2.2.1. 解压安装
| tar -xf buildkit-v0.10.3.linux-amd64.tar.gz -C /usr/local/ |
2.2.2. 编辑Service
文件
| cat > /etc/systemd/system/buildkitd.service << EOF |
| [Unit] |
| Description=BuildKit |
| Documentation=https://github.com/moby/buildkit |
| |
| [Service] |
| ExecStart=/usr/local/bin/buildkitd --oci-worker=false --containerd-worker=true |
| |
| [Install] |
| WantedBy=multi-user.target |
| EOF |
三. 安装Nerdctl命令
3.1. 下载软件包
| |
| wget https://github.com/containerd/nerdctl/releases/download/v0.22.2/nerdctl-0.22.2-linux-amd64.tar.gz |
3.2. 安装配置
| tar -xf nerdctl-0.22.2-linux-amd64.tar.gz -C /usr/local/bin |
3.3. 配置命令补全
| echo 'source <(nerdctl compltion bash)' >> ~/.bashrc |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!