前言
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