当前位置: 首页 > news >正文

代码之外周刊(第期):当技术让一切趋同,我们还剩什么?世

1. 前言

本文详细介绍如何使用 kylin v10 iso 文件构建出 docker image,docker 版本为 20.10.7。

2. 构建 yum 离线源

2.1. 挂载 ISO 文件

mount Kylin-Server-V10-GFB-Release-030-ARM64.iso /media

2.2. 添加离线 repo 文件

在/etc/yum.repos.d/下创建kylin-local.repo,并添加如下内容

[kylin-local]

name = Kylin Local

baseurl = file:///media/

gpgcheck = 0

enabled = 1

2.3. 生成元数据缓存

dnf clean all && dnf makecache

3. 构建系统环境

3.1. 创建系统安装目录

mkdir -p /opt/kylin-minimal

3.2. 安装最小系统

dnf groupinstall "Minimal" --installroot /opt/kylin-minimal

3.3. 验证系统环境

执行chroot /opt/kylin-minimal命令进入最小系统的根目录,执行ll命令查看目录结构。

[root@node0 /]# ll

total 16

lrwxrwxrwx 1 root root 7 Apr 2 2021 bin -> usr/bin

dr-xr-xr-x 7 root root 4096 Jan 3 08:58 boot

drwxr-xr-x 2 root root 42 Jan 3 08:57 dev

drwxr-xr-x 88 root root 8192 Jan 3 08:58 etc

drwxr-xr-x 2 root root 6 Apr 2 2021 home

lrwxrwxrwx 1 root root 7 Apr 2 2021 lib -> usr/lib

lrwxrwxrwx 1 root root 9 Apr 2 2021 lib64 -> usr/lib64

drwxr-xr-x 2 root root 6 Apr 2 2021 media

drwxr-xr-x 2 root root 6 Apr 2 2021 mnt

drwxr-xr-x 2 root root 6 Apr 2 2021 opt

dr-xr-xr-x 2 root root 6 Apr 2 2021 proc

dr-xr-x--- 2 root root 140 Jan 3 08:59 root

drwxr-xr-x 16 root root 281 Jan 3 08:56 run

lrwxrwxrwx 1 root root 8 Apr 2 2021 sbin -> usr/sbin

drwxr-xr-x 2 root root 6 Apr 2 2021 srv

dr-xr-xr-x 2 root root 6 Apr 2 2021 sys

drwxrwxrwt 2 root root 6 Jan 3 08:58 tmp

drwxr-xr-x 12 root root 192 Jan 3 08:55 usr

drwxr-xr-x 19 root root 332 Jan 3 08:56 var

如果显示以上目录结构,则说明最小系统环境安装成功。

4. 构建 docker 镜像

4.1. 打包系统安装目录

tar -C /opt/kylin-minimal -cvpf /opt/kylin-minimal.tar .

4.2. 创建镜像

cat /opt/kylin-minimal.tar | docker import - kylin-minimal:v10

根据官方文档介绍,从零构建镜像只有 2 种方式:FROM scratch和using tar。FROM scratch是构建一个空白的镜像,没有任何内容。而using tar是基于 tar 包构建的镜像。上述命令是从 kylin-minimal tar 包构建 docker 镜像。镜像名称为kylin-minimal,标签为v10。

4.3. 查看镜像

docker images ls -a

--------------------

REPOSITORY TAG IMAGE ID CREATED SIZE

kylin-minimal v10 4746e82d9656 1 days ago 2.0GB乇植儋纯

http://www.jsqmd.com/news/619731/

相关文章:

  • 深入浙政钉微应用:单点登录、埋点与适老化的架构设计与性能优化思考
  • SenseVoice-small-onnx语音识别实战教程:多语言ASR一键部署保姆级指南
  • 告别伪孪生:镜像视界空间计算技术方案告别伪孪生:镜像视界空间计算技术方案
  • DeepSeek-OCR-2部署优化:深求·墨鉴FP16量化推理提速2.3倍实操指南
  • 还在为回收站删不完文件抓狂?4个自动清理回收站方案一键清空!
  • 混合计算架构下的显微图像拼接技术:突破传统性能瓶颈的智能解决方案
  • Gazebo仿真中集成Velodyne VLP-16激光雷达的URDF配置全解析
  • 终极指南:如何用QobuzDownloaderX-MOD无损下载高品质音乐
  • 付费内容解锁解决方案:技术原理与实战指南
  • Qwen3.5-9B-AWQ-4bit实战案例:教育场景中试卷截图OCR与题干理解应用
  • Golang怎么用泛型实现通用排序函数_Golang如何编写支持任意可比较类型的排序方法【技巧】
  • DotNetPy:现代.NET 与 Python 互操作 实战指南磊
  • SAP批量数据导入工具实战指南:BDC、CATT与LSMW深度解析
  • 怎样轻松掌握Unity游戏插件开发:BepInEx实用高效指南
  • 从C语言基础视角理解CasRel模型底层张量运算
  • UE5数字孪生项目避坑:如何正确加载无水印历史影像地图(附EarthSDK配置)
  • 终极指南:如何在 macOS 上实现闪电般的 Android 文件传输体验
  • 我用 AI 辅助开发了一系列小工具():文件提取工具势
  • NocoBase部署教程:快速构建复杂数据业务系统
  • 企业生产报工自动化落地,数据采集全流程实现方案 —— 2026制造业数字化转型深度选型指南
  • 使用 JavaScript 动态拆分子元素到多行容器并保持 CSS 伪元素效果
  • 3种突破信息壁垒的方法:信息访问工具助力知识自由畅享
  • CardEditor:为桌游设计师量身打造的卡牌批量生成解决方案
  • FreeRTOS 任务通知详解
  • 千问3.5-2B气象服务支持:卫星云图简要描述、天气预报配图内容提取
  • BookWyrm隐私与安全配置:完整保护你的阅读数据
  • 三大现实场景解析:如何用智能解锁工具重塑你的内容获取体验
  • 3分钟搞定付费墙绕过:智能内容解锁工具完整使用指南
  • 炉石传说脚本:如何让你的炉石对战更智能?
  • ReF-LDM 环境搭建与复现记录(含踩坑总结)