[转帖]497.【kubernetes】使用 buildkit 构建镜像

kubernetes,使用,buildkit,构建,镜像 · 浏览次数 : 0

小编点评

**安装 buildkit 客户端 buildkit** 1. 下载构建 kit 版本 0.10.6 的压缩文件: ```bash wget -O buildkit-v0.10.6.linux-amd64.tar.gz https://github.com/moby/buildkit/releases ``` 2. 解压缩压缩文件: ```bash tar -zxvf buildkit-v0.10.6.linux-amd64.tar.gz ``` 3. 将 buildkit-v0.10.6.linux-amd64 文件复制到 `/usr/bin`目录: ```bash sudo cp buildkit-v0.10.6.linux-amd64 /usr/bin ``` 4. 验证安装: ```bash sudo nerdctl build -t test/testimage:0.0.1 . ``` **构建镜像** 5. 构建一个名称为 `test/testimage` 的镜像,使用版本 0.10.6 的 buildkit: ```bash docker build -t test/testimage:0.0.1 . ``` 6. 运行镜像: ```bash docker run -d --name test-image test/testimage:0.0.1 ``` **结果** 运行 `docker build` 命令后,会打印以下消息: ``` docker build -t test/testimage:0.0.1 . Building 3.6s (9/9) FINISHED ``` 这表示镜像构建成功。

正文

https://www.jianshu.com/p/835179171609

 

一、安装 buildkit 客户端

buildkit 可执行文件: 下载地址
解压:
tar -zxvf buildkit-v0.10.6.linux-amd64.tar.gz
复制到 /usr/bin

cp build/buildctl /usr/bin/

二、验证安装

buildkit -version
 
  • 可以看到已经安装成功了

三、安装buildkitd 服务

  1. 复制buildkitd到 /usr/bin
cp build/builkitd /usr/bin/
  1. 配置 systemd 服务
    创建 /usr/lib/systemd/system/buildkitd.service 文件:
cat > /usr/lib/systemd/system/buildkitd.service <<EOF
[Unit]
Description=/usr/bin/buildkitd
ConditionPathExists=/usr/bin/buildkitd
After=containerd.service

[Service]
Type=simple
ExecStart=/usr/bin/buildkitd
User=root
Restart=on-failure
RestartSec=1500ms

[Install]
WantedBy=multi-user.target
EOF
  1. 开机自启动
systemctl daemon-reload && systemctl restart buildkitd && systemctl enable buildkitd

验证运行状态

systemctl status buildkitd
 

四、构建镜像

未运行 buildkitd 之前:会报下面的错误:

[root@k8s0 cbbpa-server-utils]# nerdctl build -t test/testimage:0.0.1 .
ERRO[0000] `buildctl` needs to be installed and `buildkitd` needs to be running, see https://github.com/moby/buildkit  error="2 errors occurred:\n\t* failed to ping to host unix:///run/buildkit-default/buildkitd.sock: exit status 1\n\t* failed to ping to host unix:///run/buildkit/buildkitd.sock: exit status 1\n\n"
FATA[0000] no buildkit host is available, tried 2 candidates: 2 errors occurred:
        * failed to ping to host unix:///run/buildkit-default/buildkitd.sock: exit status 1
        * failed to ping to host unix:///run/buildkit/buildkitd.sock: exit status 1

运行 buildkitd 执行:就跑通了:

[root@k8s0 cbbpa-server-utils]# systemctl start buildkitd
[root@k8s0 cbbpa-server-utils]# nerdctl build -t test/testimage:0.0.1 .
[+] Building 3.6s (9/9) FINISHED                                                                                                                                 
 => [internal] load .dockerignore                                                                                                                           0.0s
 => => transferring context: 2B                                                                                                                             0.0s
 => [internal] load build definition from Dockerfile                                                                                                        0.0s
 => => transferring dockerfile: 256B                                                                                                                        0.0s
 => [internal] load metadata for docker.io/library/busybox:latest                                                                                           3.0s
 => [1/4] FROM docker.io/library/busybox@sha256:fcd85228d7a25feb59f101ac3a955d27c80df4ad824d65f5757a954831450185                                            0.0s
 => => resolve docker.io/library/busybox@sha256:fcd85228d7a25feb59f101ac3a955d27c80df4ad824d65f5757a954831450185                                            0.0s
 => [internal] load build context                                                                                                                           0.0s
 => => transferring context: 106B                                                                                                                           0.0s
 => CACHED [2/4] WORKDIR /root                                                                                                                              0.0s
 => CACHED [3/4] ADD cbbpa_server_utils.bin /root                                                                                                           0.0s
 => CACHED [4/4] RUN chmod -R 777 .                                                                                                                         0.0s
 => exporting to oci image format                                                                                                                           0.5s
 => => exporting layers                                                                                                                                     0.0s
 => => exporting manifest sha256:e2cc5478d2911b1ac660886ee53950997f89d05b3c5ffc6ca63653e0b64e0a58                                                           0.0s
 => => exporting config sha256:3585a98666945a396c21d259885b61a922ff46d8db5b33dc111b7a0701d26744                                                             0.0s
 => => sending tarball                                                                                                                                      0.4s
unpacking docker.io/test/testimage:0.0.1 (sha256:e2cc5478d2911b1ac660886ee53950997f89d05b3c5ffc6ca63653e0b64e0a58)...
Loaded image: docker.io/test/testimage:0.0.1[root@k8s0 cbbpa-server-utils]# date
Mon Nov 21 10:26:59 CST 2022
 
镜像构建成功

与[转帖]497.【kubernetes】使用 buildkit 构建镜像相似的内容:

[转帖]497.【kubernetes】使用 buildkit 构建镜像

https://www.jianshu.com/p/835179171609 一、安装 buildkit 客户端 buildkit 可执行文件: 下载地址解压:tar -zxvf buildkit-v0.10.6.linux-amd64.tar.gz复制到 /usr/bin cp build/bui

[转帖]

Linux ubuntu20.04 网络配置(图文教程) 因为我是刚装好的最小系统,所以很多东西都没有,在开始配置之前需要做下准备 环境准备 系统:ubuntu20.04网卡:双网卡 网卡一:供连接互联网使用网卡二:供连接内网使用(看情况,如果一张网卡足够,没必要做第二张网卡) 工具: net-to

[转帖]

https://cloud.tencent.com/developer/article/2168105?areaSource=104001.13&traceId=zcVNsKTUApF9rNJSkcCbB 前言 Redis作为高性能的内存数据库,在大数据量的情况下也会遇到性能瓶颈,日常开发中只有时刻

[转帖]ISV 、OSV、 SIG 概念

ISV 、OSV、 SIG 概念 2022-10-14 12:29530原创大杂烩 本文链接:https://www.cndba.cn/dave/article/108699 1. ISV: Independent Software Vendors “独立软件开发商”,特指专门从事软件的开发、生产、

[转帖]Redis 7 参数 修改 说明

2022-06-16 14:491800原创Redis 本文链接:https://www.cndba.cn/dave/article/108066 在之前的博客我们介绍了Redis 7 的安装和配置,如下: Linux 7.8 平台 Redis 7 安装并配置开机自启动 操作手册https://ww

[转帖]HTTPS中间人攻击原理

https://www.zhihu.com/people/bei-ji-85/posts 背景 前一段时间,公司北京地区上线了一个HTTPS防火墙,用来监听HTTPS流量。防火墙上线之前,邮件通知给管理层,我从我老大那里听说这个事情的时候,说这个有风险,然后意外地发现,很多人原来都不知道HTTPS防

[转帖]关于字节序(大小端)的一点想法

https://www.zhihu.com/people/bei-ji-85/posts 今天在一个技术群里有人问起来了,当时有一些讨论(不完全都是我个人的观点),整理一下: 为什么网络字节序(多数情况下)是大端? 早年设备的缓存很小,先接收高字节能快速的判断报文信息:包长度(需要准备多大缓存)、地

[转帖]awk提取某一行某一列的数据

https://www.jianshu.com/p/dbcb7fe2da56 1、提取文件中第1列数据 awk '{print $1}' filename > out.txt 2、提取前2列的文件 awk `{print $1,$2}' filename > out.txt 3、打印完第一列,然后打

[转帖]awk 中 FS的用法

https://www.cnblogs.com/rohens-hbg/p/5510890.html 在openwrt文件 ar71xx.sh中 查询设备类型时,有这么一句, machine=$(awk 'BEGIN{FS="[ \t]+:[ \t]"} /machine/ {print $2}' /

[转帖]Windows Server 2022 简体中文版、英文版下载 (updated Oct 2022)

https://sysin.org/blog/windows-server-2022/ Windows Server 2022 正式版,2022 年 10 月更新,VLSC Posted by sysin on 2022-10-27 Estimated Reading Time 8 Minutes