制作容器基本镜像

背景

由于项目使用麒麟操作系统,需要在麒麟桌面操作系统和服务器操作系统里编译代码,如果每次都在物理机和虚拟机里编译太不方便,也无法使用常用的 jenkins + k8s 组成的 CI/CD 编译环境,如果基于整个ISO太大了,现基于ISO 构建出一个小点的基础镜像。

1 . 服务器版本制作步骤:

1.1 准备好一个麒麟服务器版本的iso, Kylin-Server-V10-GFB-Release-ARM64.iso

1.2 将其挂载到某个目录下:

c 复制代码
mount -o loop /path/xxx.iso /mnt/iso

1.3 修改 yum 源 为本地源, 关闭外网yum源,修改/etc/yum.repo.d/ kylin_aarch64.repo,将其它的 enabled 项值都改为 0:

添加:

c 复制代码
[ks10-adv-cdrom]
name = Kylin Linux Advanced Server 10 - cdrom
baseurl = file:///mnt/iso
gpgcheck = 0
enabled = 1

1.4 查看所有仓库状态

c 复制代码
yum repolist all

1.5 新建一个目录

复制代码
cd /
mkdir /ky10-docker-server

1.6 制作最小系统

这里只安装一个tree包,如果有需要,可以按需要安装需要的包

复制代码
yum -y --installroot=/ky10-docker-server install tree

1.7 查看 /ky10-docker-server

1.8 将根目录打包

复制代码
cd /ky10-docker-server/
tar -cvpf /root/ky10-server.tar --directory=/ky10-docker-server/ --exclude=proc --exclude=sys --exclude=dev --exclude=run --exclude=boot .

ky10-server.tar 就是docker基础镜像了

1.9 将tar包导入docker

这步需要确保docker 服务启动, systemctl status docker 查看

复制代码
docker import /root/ky10-server.tar ky10-server:latest
docker images

这个镜像只有200多M

1.10. 用docker镜像启动容器

复制代码
docker run -it ky10-server:latest /bin/bash

1.11 推送镜像到私有仓库

复制代码
 docker push --tls-verify=0 image_id docker://url/image_name 提交镜像到远程地址

2. 桌面版制作镜像

桌面版只需要准备一个桌面ISO,

第六步换成:apt-get --root=/path/to/root install <PACKAGE> 即可

相关推荐
ZzzZZzzzZZZzzzz…5 小时前
K8S实战:NFS+StorageClass+PV/PVC+Deployment
运维·云原生·容器·kubernetes·storageclass·linux运维·持久卷
三言老师6 小时前
CentOS7.9 + Kubernetes 1.18.20 -清理所有 docker / containerd 残留
docker·容器·kubernetes
云川之下9 小时前
【k8s】sriov‑device‑plugin、sriov‑network‑config‑daemon详解
云原生·容器·kubernetes
张忠琳1 天前
【NPU】Ascend Device Plugin —Part 6 K8s客户端 + 重复检测模块 超深度源码分析之二
云原生·容器·kubernetes·npu·docker device
雨声不在1 天前
私有 Docker Registry 排障实录:两个隐蔽的坑
docker·容器
云川之下1 天前
【k8s】SR‑IOV‑Network‑Operator 详解
云原生·容器·kubernetes
读书读傻了哟1 天前
解决docker拉取镜像报错failed to resolve reference “docker.io/xxx“...i/o timeout问题
运维·docker·容器
Ai拆代码的曹操1 天前
DaemonSet OnDelete 策略详解:为何 rollout restart 无效及正确迁移方案
docker·容器·kubernetes
名字还没想好☜1 天前
Kubernetes NetworkPolicy 实战:默认全通的坑与用标签做零信任隔离
运维·云原生·容器·kubernetes·networkpolicy
风曦Kisaki1 天前
# Kubernetes(K8s)笔记Day13 :工作负载资源概述与 Job (CronJob)控制器
linux·笔记·云原生·容器·kubernetes