buildkit工具使用

文章转发自 https://wghdr.top,更多文章请跳转。

1.介绍

containerd的ctr没有build,commit功能,上文介绍的nerdctl可以完成。其实还有个工具buildkit专门用来构建镜像。

  • 服务端为buildkitd,和runc或containerd后端进行连接,目前只支持这两个后端。
  • 客户端为buildctl,负责解析镜像构建文件Dockerfile,并向服务端发出构建指令,所以客户端可以和服务端不在一台机器上,也不需要root权限之类。
  • 服务端默认使用runc后端,但是建议使用containerd后端,这样构建出的镜像就会存在containerd的buildkit名字空间下。
  • buildctl客户端可用于 Linux、macOS 和 Windows,但buildkitd服务端目前仅可用于 Linux。

2.安装

wget https://github.com/moby/buildkit/releases/download/v0.9.3/buildkit-v0.9.3.linux-amd64.tar.gz
mv bin buildkit
cp build* /usr/bin

3.启动

buildkitd默认运行在前台的,如果需要后面加一个 &
使用 --oci-worker=false --containerd-worker=true 参数,可以让buildkitd服务使用containerd后端

buildkitd --oci-worker=false --containerd-worker=true & 

file

4.使用

file

构建镜像

buildctl build --frontend=dockerfile.v0 --local context=. --local dockerfile=. --output type=image,name=httpserver:v4
frontend:使用dockerfile作为前端,也可以使用gateway.v0(未测试)。
local context: 指向当前目录,这是Dockerfile执行构建时的路径上下文,比如在从目录中拷贝文件到镜像里
local dockerfile:指向当前目录,表示Dockerfile在此目录
output 的 name: 表示构建的镜像名称

file
镜像会存在本地containerd的buildkit命名空间下。

查看镜像

ctr -n buildkit i ls
nerdctl -n buildkit images

file

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柠是柠檬的檬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值