docker镜像构建(基于ISO)

1. 前言

本文详细介绍如何基于kylin v10 ISO文件构建出docker image。系统环境如下:

dockder:        20.10.7
linux os:       kylinv 10 (GFB)
linux kernel:   4.19.90-52.23.v2207.gfb01.ky10.aarch64

 
 

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 scratchusing tarFROM 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

 
 

5. 参考资料

  • https://docs.docker.com/build/building/base-images/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/66028.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mac中配置vscode(第一期:python开发)

1、终端中安装 xcode-select --install #mac的终端中安装该开发工具 xcode-select -p #显示当前 Xcode 命令行工具的安装路径注意:xcode-select --install是在 macOS 上安装命令行开发工具(Command Line Tools)的关键命令。安装的主要组件包括:C/C 编…

快速将索尼手机联系人导出为 HTML 文件

我想将 Sony Xperia 手机上的联系人导出到计算机上进行备份,并在需要时进行编辑。这可以做到吗?如何做到?作为助手我需要下载什么工具吗? 当您的 Android 手机上存储了如此多的重要联系人,而您又不想丢失它们时&#…

学习threejs,导入AWD格式的模型

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️THREE.AWDLoader AWD模型加…

【OAA 】面向对象分析:从概念到实践

🔥个人主页: 中草药 🔥专栏:【Java】登神长阶 史诗般的Java成神之路 我们都知道Java是一门面向对象的开发语言,在软件开发的广袤天地中,面向对象分析(Object-Oriented Analysis,简称…

【Axios使用手册】如何使用axios向后端发送请求并进行数据交互

axios 是一个基于 Promise 的 HTTP 客户端,用于浏览器和 Node.js。它支持请求和响应拦截、取消请求、自动转换 JSON 数据等功能,非常适合在现代 JavaScript 应用中进行网络请求。以下是对 axios 的详细讲解,包括安装、基本用法、高级功能等。…

jvm结构介绍

JVM结构概述 Java虚拟机(JVM)是Java程序的运行环境,它负责将Java字节码转换为机器码并执行。JVM的结构主要包括类加载子系统、运行时数据区、执行引擎、本地接口以及垃圾收集器。 1. 类加载子系统(Class Loader Subsystem&#xf…

Nginx常用配置之详解(Detailed Explanation of Common Nginx Configurations)

Nginx常用配置详解(图文全面总结) Nginx Nginx 是一款轻量级的高性能 HTTP、 和反向代理服务器。 Nginx,被广泛用于负载均衡、静态文件服务、和代理.........等。 Nginx,以高并发、低内存占用、和高可用性著称,大部分的大厂以及公司都在使…

【逐步补充中】springboot集成netty中遇到的问题总结

问题1:LengthFieldBasedFrameDecoder解码失败,再次尝试解码 如果无需再次尝试解码,可以在抛错时调用, in.resetReaderIndex(); public class TcpMessageDecoderHandler extends LengthFieldBasedFrameDecoder {private static f…

Win11+WLS Ubuntu 鸿蒙开发环境搭建(二)

参考文章 penHarmony南向开发笔记(一)开发环境搭建 OpenHarmony(鸿蒙南向开发)——标准系统移植指南(一) OpenHarmony(鸿蒙南向开发)——小型系统芯片移植指南(二&…

Android图形系统中的PDF渲染:架构、JNI、系统定制与实际应用

Android图形系统中的PDF渲染:架构、JNI、系统定制与实际应用 引言 在移动设备上,PDF文件的渲染与显示是一个常见的需求。Android系统提供了android.graphics.pdf包,用于处理PDF文件的渲染和显示。本文将深入探讨android.graphics.pdf的架构、JNI(Java Native Interface)…

babel-runtime

简介 babel-runtime 是 Babel 的一个核心库,主要用于在运行时提供一些 Babel 转换所需的功能。 作用 代码复用:babel-runtime 提供了常用的辅助函数和 polyfills,避免在每个文件中重复引入这些功能。支持新特性:帮助支持 ES6 特…

ubuntu 使用s3fs配置自动挂载对象存储

一、环境准备 1.有访问对象存储权限的AKSK 2.服务器、对象存储 二、实施步骤 sudo apt update sudo apt install s3fs echo "AK:SK" >/home/ubuntu/.passwd-s3fs ---位置自定义 chmod 600 /home/ubuntu/.passwd-s3fs ---权限必须要有 mkdir /data sudo s3fs …

聚铭网络受邀参加2024年南京市信息技术应用创新产业供需对接会

近日,备受瞩目的2024年南京市信息技术应用创新产业供需对接会(‘宁工品推’信创、商用密码专场)”在中国(南京)软件谷云密城圆满举办。聚铭网络作为信创领域的杰出代表厂商,受邀出席本次大会,为…

关于 AWTK 和 Weston 在旋转屏幕时的资源消耗问题

关于 AWTK 和 Weston 在旋转屏幕时的资源消耗问题,首先需要理解这两者旋转的本质区别及其资源开销。 AWTK的屏幕旋转: AWTK旋转的实现方式: AWTK 是一个用户界面工具包,它通过图形渲染系统处理所有控件和窗口的旋转。当你使用 w…

Monolith - 大规模推荐建模的深度学习框架

文章目录 一、关于 Monolith二、快速开始1、从源代码构建2、示例和教程 一、关于 Monolith github : https://github.com/bytedance/monolithDiscord Monolith 是一个用于大规模推荐建模的深度学习框架。它引入了两个对高级推荐系统至关重要的特性: collisionles…

RS485方向自动控制电路分享

我们都知道RS485是半双工通信,所以在传输的时候需要有使能信号,标明是发送还是接收信号,很多时候就简单的用一个IO口控制就好了,但是有一些低成本紧凑型的MCU上,一个IO口也是很珍贵的,因此,如果…

ElementUI中的el-select显示的不是对应label值

这个下拉框组件可以在v-model绑定的值等于option中value的值时&#xff0c;显示对应option的label 但是下面这个出了问题&#xff0c;显示的是1或2或3&#xff0c;而不是对应的label <el-select v-model"editParam.role_id" placeholder"请选择角色身份&qu…

UE5材质节点Frac/Fmod

Frac取小数 Fmod取余数 转场效果 TimeMultiplyFrac很常用 Timesin / Timecos 制作闪烁效果

图神经网络_GNN从入门到入门

文章目录 0 提出背景1 网络结构2 GNN算法2.1 算法描述2.2 举个栗子 3 GNN本质4 应用领域5 代码案例5.1 PyG的下载5.2 常用数据集介绍5.3 one demo 0 提出背景 经典的深度神经网络适用于 欧几里得数据&#xff08;Euclidean data&#xff09;&#xff0c;比如我们常常用卷积神经…

CDGA数据治理工程师-学习笔记

目录 第一章 数据管理 组织管理数据的目标&#xff1a; 数据管理的原则&#xff1a; 数据生命周期&#xff1a; 数据管理战略的组成应包括&#xff1a; 第二章 数据伦理 目标 数据伦理活动 数据处理伦理问题 贝尔蒙特 数据伦理准则 违背伦理进行数据处理的风险 建立…