Bboysoul's Blog

首页 归档 资源 公告

使用nerdctl+buildkitd编译docker镜像

October 24, 2022

简介

如果你不想使用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


Tags:
本文总阅读量 本文总访客量 本站总访问量 本站总访客数