如何制作docker基础镜像,docker必装镜像

  如何制作docker基础镜像,docker必装镜像

  1、重构文件系统

  [root @ localhostliveos]# yum-yinstallsquashfs-tools

  [root @ localhost img]# unsquashfssquashfs。img #的squashfs.img是只读的,必须复制并解压缩

  [root@localhost LiveOS]# ls

  rootfs.img

  [root @本地主机LiveOS]# pwd

  /data/img/squashfs-root/LiveOS

  在目录中挂载[root @ localhostliveos]#装载rootfs.img/data/rootfs/#根文件系统。图片

  [root @ localhostliveos]# CD/data/root fs/

  [root@localhost rootfs]# ls

  听众腰带bootdevetcfirmwareliblib 64 lostfoundmntmodulesprocootrouns听众腰带系统tmp usr变量

  [ root @ localhost rootfs ] # find .-名称mdadm *。/run/mdadm。/usr/lib/systemd/system-shut down/mdadm。停工。/usr/lib/systemd/system/mdadm-last-resort @ .服务。/usr/lib/systemd/system/mdadm-grow-continue @ .服务。/usr/lib/systemd/system/mdadm-last-resort @ .计时器。/usr/lib/tmpfiles.d/mdadm.conf。/usr/share/auge as/lenses/dist/mdadm _ conf。八月。/usr/s听话的皮带/mdadm

  确定[root @ localhost ~]# yumprovidesrpbuild #命令由哪个软件包提供

  [root @ localhost x86 _ 64]# rpm 2 cpio mdadm-3。3 .2-2。El 7.1.x86 _ 64.rpmcpio-div # rpm软件包以备份文件格式打包

  [root @ localhost root fs]# CP/root/rpm build/rpms/x86 _ 64/usr/s听话带/mdadm s听话带/mdadm #替换文件

  [root @ localhost root fs]# mksquashfs squashfs-root squashfs。img #重新打包以生成squashfs.img

  [root@node1 elk]# mkdir ISO

  [root @ node 1 elk]# yum-yinstallcreaterepomkisofsisomd5 sum rsync

  [ root @ node1elk ] #建议复制所有rsync-a-exclude=packages//-exclude=repo data//mnt/iso/#

  [ root @ node1elk ] # yum安装-你.仅下载-下载目录=/root/test/#在指定路径上安装并安装指定的每分钟转数软件包

  #必须在每次重新生成、添加或删除包树时运行

  createrepo-grep odata/*-comps .XML。

  #创建镜像

  miso fs-o centos。iso-biso Linux/isolinux .听话的皮带-c isolinux/boot。卡特彼勒-非乳化-启动-启动-负载-尺寸4-启动-启动

  2、自定义镜像

  挂载/开发/cdrom/媒体

  将/媒体下的文件同步到/ISO路径,但包装和报告数据文件夹除外

  /usr/听话的皮带/rsync-a-exclude=packages//-exclude=repo data//media//iso/

  在/ISO/文件夹下创建新的包文件夹和报告数据文件夹

  mkdir-p/ISO/{包,报告数据}

  rpm -qa /root/install.log #生成install.log

  awk {打印$ 0 } /root/install。log xargs-ICP/media/packages/{ } .rpm/iso/packages /

  将妙的配置为下载指定软件包列表(rpms_list.txt)中的所有依赖软件包

  #!/听话的皮带/sh

  对于" cat/root/rpms _ list.txt "中的行

  德奥

  “回声”下载一个文件,它是一个" denpendies"$ line

  yum install-y -仅下载- -下载dir=/root/test/$ line

  #或好吃的安装好吃的东西,然后再安装yumdownloader $line

  道恩

  #好吃搜索。因此或依赖的每分钟转数软件包

  取决于妙的提供{。因此名称或名称}

  #将软件包复制到指定目录

  cp /root/test/* /ISO/Packages/

  自定义isolinux.cfg文件

  默认值一

  提示1 #回车将跟踪默认条目,以防止重复重载

  超时600

  一级方程式

  菜单标签^安装控制台

  内核内核文件

  appendlinuxinitrd=initrd。img研究所。不保存=所有仪器。第二阶段=高清:级别=OSinst.ks=HD3360级别=OS3360/ks .

  二级方程式

  菜单标签^安装屏幕

  内核内核文件

  appendlinuxinitrd=initrd。img研究所。不保存=所有仪器。第二阶段=高清:级别=OSinst.ks=HD3360级别=OS3360/ks .

  菜单结束

  安装数量是ks.cfg文件的位置;

  #安装阶段2是介质的安装位置,高清:标签是介质标签,如CentOS7。这与用于生成后续国际标准化组织镜像文件的命令生殖图像的参数-V有关。

  #高清:级别之后的所有值最好用后面使用的字符串替换,如CentOS7

  更改自动安装配置文件

  %包

  @^web-server-environment

  @base

  @core

  @java平台

  @ python -网络

  @网络服务器

  关键工具

  @{自定义软件包组的groupid}

  %结束

  创建修改的免费票文件

  导航到/ISO目录,将*-x86_64-comps.xml文件复制到/ISO/repodata路径中,然后将其重命名为comps.xm

  CP/media/repo data/*-x86 _ 64-comps.XML/iso/repo数据/comps。可扩展置标语言

  #添加自定义rpm包

  自定义软件包组的{groupid}

  我的从属关系

  真实的

  真实的

  python-webob。

  基于rpms_list.txt分组请求拼接

  #!/听话带/sh

  对于“cat rpms_list.txt”中的行

  德奥

  echo $line /root/package.txt

  黎明

  #向指定环境添加自定义groupid

  我们B-服务器-环境

  基本web服务器

  serverforservingstaticanddynamicinternetcontent .

  30

  基础设施

  核心

  我们B-服务器

  自定义软件包组的{groupid}

  切换到ISO/path并从comps.xml生成repodata包。请注意,如果添加了新包或更新了comps.xml文件,则必须重新生成repodata文件夹。

  create repo-grep odata/comps . XML ./

  创建ISO映像

  创建一个ISO映像,注意参数的-V必须与上面的isolinux.cfg中的标签相匹配。

  cd /ISO

  genis oimage-joliet-long-vcentos 7-ocen tos . iso-biso Linux/isolinux。听话带-cislinux/boot.cat-no-emumux

  #检查镜像MD5的值

  植入体5 /ISO/CentOS.iso

如何制作docker基础镜像,docker必装镜像