下载

需要注意本文学习了很多如下网站的内容:
https://zhuanlan.zhihu.com/p/366671300
# 第一步下载资源
https://github.com/moby/buildkit/releases/tag/v0.11.2
注意这是 2023.2.7 左右能够下载的最新版本 https://github.com/containerd/containerd/releases
注意这个可以下载cri-containerd的版本, 有一个集成的systemd服务便于使用.

部署服务-containerd

tar -zxvf cri-containerd-1.6.16-linux-amd64.tar.gz -C /
# 如果是arm的
tar -zxvf cri-containerd-1.6.16-linux-arm64.tar.gz -C / mkdir -p /etc/containerd
containerd config default > /etc/containerd/config.toml # 启动服务即可
systemctl daemon-reload
systemctl enable containerd
systemctl start containerd
systemctl status containerd

部署服务-其他软件

# 注意这一步也需要在github上面下载对应文件
https://github.com/containerd/nerdctl
https://github.com/containernetworking/plugins tar -zxvf nerdctl-1.2.0-linux-amd64.tar.gz -C /usr/local/bin/
tar -zxvf cni-plugins-linux-amd64-v1.2.0.tgz -C /usr/local/bin/ # 如果是arm的
tar -zxvf nerdctl-1.2.0-linux-arm64.tar.gz -C /usr/local/bin/
tar -zxvf cni-plugins-linux-arm64-v1.2.0.tgz -C /usr/local/bin/

部署服务-buildkit

注意下载的文件为:
buildkit-v0.11.2.linux-amd64.tar.gz tar -zxvf buildkit-v0.11.2.linux-amd64.tar.gz -C /usr/local
# 如果是arm的
tar -zxvf buildkit-v0.11.2.linux-arm64.tar.gz -C /usr/local
# 创建配置文件
cat >/etc/systemd/system/buildkitd.service <<EOF
[Unit]
Description=BuildKit
Documentation=https://github.com/moby/buildkit
After=containerd.service [Service]
Type=notify
ExecStart=/usr/local/bin/buildkitd --oci-worker=false --containerd-worker=true [Install]
WantedBy=multi-user.target
EOF systemctl daemon-reload && systemctl restart buildkitd
systemctl enable buildkitd
systemctl status buildkitd

参数设置以及镜像处理

跟之前打包 openJdk的镜像一样, 增加文件信息:

root@inspur-PC:/docker-jdk# tree -L 1
.
├── dockerfile_openjdk字体
├── myfonts.tar.gz
└── zh.tar.gz dockerfile的内容为:
FROM adoptopenjdk:8u292-b10-jdk-hotspot RUN apt-get update && apt-get -y install fontconfig && apt-get install -y locales && rm -rf /var/lib/apt/lists/* \ && localedef -i zh_CN -c -f UTF-8 -A /usr/share/locale/locale.alias zh_CN.UTF-8 WORKDIR /usr/share/fonts/
ADD myfonts.tar.gz /usr/share/fonts/
RUN fc-cache
ADD zh.tar.gz /usr/lib/locale
ENV LANG zh_CN.utf8
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo '$TZ' > /etc/timezone buildctl build \
--frontend=dockerfile.v0 \
--local context=. \
--local dockerfile=. \
--output type=image,name=openjdk_8_292_withfonts

修改镜像的命名空间

mkdir -p /etc/buildkit/
vim /etc/buildkit/buildkitd.toml [worker.oci]
enabled = false [worker.containerd]
enabled = true
# namespace should be "k8s.io" for Kubernetes (including Rancher Desktop)
namespace = "k8s.io"
platforms = [ "linux/arm64" ]
gc = true
# gckeepstorage sets storage limit for default gc profile, in MB.
gckeepstorage = 9000

重新构建镜像

  • 会比docker构建多很多信息
  • 注意我的多架构构建好像有点问题.
[root@KylinV10SP3ARM64 docker-jdk]# buildctl build \
> --frontend=dockerfile.v0 \
> --local context=. \
> --local dockerfile=. \
> --output type=image,name=openjdk_8_292_withfonts
[+] Building 184.3s (12/12) FINISHED
=> [internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 786B 0.0s
=> [internal] load metadata for docker.io/library/adoptopenjdk:8u292-b10-jdk-hotspot

查看镜像以及高阶应用

ctr -n buildkit i ls
# 打包的同事直接进行推送
buildctl build \
--frontend=dockerfile.v0 \
--local context=. \
--local dockerfile=. \
--output type=image,name=docker.io/username/image:tag,push=true
--export-cache type=inline

问题解决

我使用UOS1050D 进行安装时出现了错误提示:

error: failed to solve: process "/bin/sh -c apt-get update  && apt-get -y install fontconfig && apt-get install -y locales
&& rm -rf /var/lib/apt/lists/* \\ && localedef -i zh_CN -c -f UTF-8 -A /usr/share/locale/locale.alias zh_CN.UTF-8" did not complete successfully:
failed to create shim task: OCI runtime create failed: unable to retrieve OCI runtime error
(open /run/containerd/io.containerd.runtime.v2.task/k8s.io/5p0ndy0d0u5990sjt2r6lnujt/log.json: no such file or directory):
runc did not terminate successfully: exit status 127: unknown 根据百度怀疑是没有安装libseccomp 后者是版本太低导致.
查了下. 自动安装的版本是 libseccomp 2.3.x的版本
最低要求好像是 2.5.x
libseccomp-dev 已经是最新版 (2.3.3.2-1+dde)。
libseccomp2 已经是最新版 (2.3.3.2-1+dde)。
libseccomp2-dbgsym 已经是最新版 (2.3.3.2-1+dde)。 准备改天升级一下此包 但是我同时发现. 使用银河麒麟V10SP3自动就带的符合要求的就非常顺畅了.

buildkit的简单学习与使用的更多相关文章

  1. Log4j简单学习笔记

    log4j结构图: 结构图展现出了log4j的主结构.logger:表示记录器,即数据来源:appender:输出源,即输出方式(如:控制台.文件...)layout:输出布局 Logger机滤器:常 ...

  2. shiro简单学习的简单总结

    权限和我有很大渊源. 培训时候的最后一个项目是OA,权限那块却不知如何入手,最后以不是我写的那个模块应付面试. 最开始的是使用session装载用户登录信息,使用简单权限拦截器做到权限控制,利用资源文 ...

  3. CentOS 简单学习 firewalld的使用

    1. centos7 开始 使用firewalld 代替了 iptables 命令工具为 firewall-cmd 帮助信息非常长,简单放到文末 2. 简单使用 首先开启 httpd 一般都自带安装了 ...

  4. Windows 下 Docker 的简单学习使用过程之一 dockertoolbox

    1. Windows 下面运行 Docker 的两个主要工具1): Docker for Windows2): DockerToolbox区别:Docker For Windows 可以理解为是新一代 ...

  5. 在MVC中实现和网站不同服务器的批量文件下载以及NPOI下载数据到Excel的简单学习

    嘿嘿,我来啦,最近忙啦几天,使用MVC把应该实现的一些功能实现了,说起来做项目,实属感觉蛮好的,即可以学习新的东西,又可以增加自己之前知道的知识的巩固,不得不说是双丰收啊,其实这周来就开始面对下载在挣 ...

  6. Linux——帮助命令简单学习笔记

    Linux帮助命令简单学习笔记: 一: 命令名称:man 命令英文原意:manual 命令所在路径:/usr/bin/man 执行权限:所有用户 语法:man [命令或配置文件] 功能描述:获得帮助信 ...

  7. OI数学 简单学习笔记

    基本上只是整理了一下框架,具体的学习给出了个人认为比较好的博客的链接. PART1 数论部分 最大公约数 对于正整数x,y,最大的能同时整除它们的数称为最大公约数 常用的:\(lcm(x,y)=xy\ ...

  8. mongodb,redis简单学习

     2.mongodb安装配置简单学习                   配置好数据库路径就可以mongo命令执行交互操作了:先将服务器开起来:在开个cmd执行交互操作                 ...

  9. html css的简单学习(三)

    html css的简单学习(三) 前端开发工具:Dreamweaver.Hbuilder.WebStorm.Sublime.PhpStorm...=========================== ...

  10. html css的简单学习(二)

    html css的简单学习(二) <!Doctype html>告诉浏览器,这是一个html文档.lang="en" 默认是en,表示英语:zh-Hans 中文简体:z ...

随机推荐

  1. Mock服务设计与实现:MySQL驱动字节码修改增强

    摘要:华为导流测试平台通过对线上流量回放到被测环境中,利用线上真实流量进行充分测试,保证业务系统稳定上线.但是业务在导流测试过程中现网数据库往往难以同步到测试环境,导致现网数据无法正常回放,测试价值降 ...

  2. LiteOS内核源码分析:任务栈信息

    摘要:LiteOS任务栈是高地址向低地址生长的递减栈,栈指针指向即将入栈的元素位置. 我们介绍下LiteOS任务栈的基础概念.LiteOS任务栈是高地址向低地址生长的递减栈,栈指针指向即将入栈的元素位 ...

  3. 火山引擎DataLeap的Data Catalog系统公有云实践 (上)

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 前言 Data Catalog 通过汇总技术和业务元数据,解决大数据生产者组织梳理数据.数据消费者找数和理解数的业 ...

  4. 火山引擎 DataTester 为企业降本增效:1 个人也能成为一支 A/B 实验团队

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 今年天猫电商.京东均表示交易规模与 2021 年持平,跟往年急剧增长的销售额相比,今年的双十一显得略微" ...

  5. Nginx--用户认证&&访问控制&&限速&&状态访问

    一 用户认证 某些网页只希望给特定的用户访问,可以设置用户认证,使用户访问时需要进行身份认证,只有认证通过才可访问网页 location / { root html; index index.html ...

  6. 自己实现的一个简单的C# IOC 容器

    IService接口,以实现服务的启动.停止功能: using System; using System.Collections.Generic; using System.Linq; using S ...

  7. Codeforces Round #656 (Div. 3)部分题解

    Codeforces Round #656 (Div. 3)题解 A.Three Pairwise Maximums 解题思路: 依照题意和样例,三个整数x,y,z必须有两个相同且都比第三个数大. 如 ...

  8. Codeforces Round #666 (Div. 2) 题解报告

    https://codeforces.com/contest/1397/problem/A 题意: 给定n个字符串,问重新组合以后是否能构成相同的n个字符串 思路: 直接判断所给的字符串的每种字母是否 ...

  9. 聊聊与前端工程师天然互补的 Serverless

    作者:灵轮_(阿里云前端技术专家)_ 作为前端工程师,我们的使命是为用户提供良好的前端用户体验.随着云原生时代的到来,显而易见的,我们能做的更多了.Serverless 产品的特点是免运维.按量付费和 ...

  10. 如虎添翼!高德地图+Serverless 护航你的假日出行

    ​ 作者 | 刘金龙(福辰) 高德团队 引言 ​ "前方事故多发地段,请注意保持车距..." "您已疲劳驾驶,请注意休息..." "前方经过泰山旅游景 ...