简介
如果你不想使用docker的话nerdctl+containerd是完全可以代替docker的存在,今天介绍下怎么使用nerdctl去编译一个docker镜像。
操作
首先下载nerdctl
wget https://github.bboysoul.cn/containerd/nerdctl/releases/download/v1.0.0/nerdctl-1.0.0-linux-arm64.tar.gz
tar -zxvf nerdctl-1.0.0-linux-arm64.tar.gz
mv nerdctl /bin/
之后下载buildkit
wget https://github.com/moby/buildkit/releases/download/v0.10.5/buildkit-v0.10.5.linux-arm64.tar.gz
tar -zxvf buildkit-v0.10.5.linux-arm64.tar.gz
mv ./bin/* /usr/local/bin/
启动buildkitd
./buildkitd --containerd-worker-addr=/run/k3s/containerd/containerd.sock
因为树莓派上的containerd是使用k3s启动的,所以要指定下containerd的sock文件路径
开始编译
nerdctl -H /run/k3s/containerd/containerd.sock build . -t git.bboysoul.cn/container/prometheus-pve-exporter:2.2.4
登录镜像仓库
nerdctl -H /run/k3s/containerd/containerd.sock login git.bboysoul.cn
推送镜像
nerdctl -H /run/k3s/containerd/containerd.sock push git.bboysoul.cn/container/prometheus-pve-exporter:2.2.4
其实所有的操作都只要把原本的docker命令替换成nerdctl就可以了,还是很简单的
欢迎关注我的博客www.bboy.app
Have Fun