4-4 基于nerdctl + buildkitd + containerd构建容器镜像

这篇博客介绍了如何利用nerdctl,这个具备docker功能且支持延迟拉取镜像和镜像加密的工具,配合buildkit——Docker的下一代构建工具,以及containerd作为Kubernetes的底层容器运行时,来构建和管理容器镜像。内容包括nerdctl的安装,buildkitd的部署,containerd的检查,以及镜像的构建和容器的启动过程。
摘要由CSDN通过智能技术生成

前言

nerdctl
nerdctl 不仅有docker cli的功能,它还实现了很多 docker 不具备的功能,例如延迟拉取镜像(lazy-pulling),镜像加密(imgcrypt)等。

buildkit
buildkit 是由 Docker 公司开发的 下一代 docker build 工具,具有更高效,更安全,易于扩展等特点。

containerd
containerd 是从Docker中分离出来的一个项目,可以作为一个底层容器运行时,现在它成了Kubernete容器运行时更好的选择。containerd可以在宿主机中管理完整的容器生命周期。



安装nerdctl

nerdctl通过二进制安装:

wget https://github.com/containerd/nerdctl/releases/download/v0.22.2/nerdctl-0.22.2-linux-amd64.tar.gz
tar -zxvf nerdctl-0.22.2-linux-amd64.tar.gz
cp nerdctl /usr/local/bin/

sudo nerdctl version
Version:	v0.22.2

部署buildkit

下载二进制文件:

wget https://github.com/moby/buildkit/releases/download/v0.10.3/buildkit-v0.10.3.linux-amd64.tar.gz
tar -zxvf buildkit-v0.10.3.linux-amd64.tar.gz
# 拷贝服务端与客户端二进制文件到环境变量目录
cp bin/buildkitd bin/buildctl /usr/local/bin/

编辑套接字文件:

vim /lib/systemd/system/buildkit.socket

[Unit]
Description=BuildKit
Documentation=https://github.com/moby/buildkit

[Socket]
ListenStream=%t/buildkit/buildkitd.sock

[Install]
WantedBy=sockets.target

编辑服务文件:

vim /lib/systemd/system/buildkitd.service

[Unit]
Description=BuildKit
Documentation=https://github.com/moby/buildkit
# Requires=buildkit.socket
After=buildkit.s
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值