在Centos7 系统中使用supermin制作CentOS6 的Docker镜像
关注0人评论1499人阅读2018-01-19 17:08:40
使用supermin制作CentOS的Docker镜像
需求
supermin 在Centos7 里面安装默认只能够构建Centos7 版本的基础镜像,如果想进行构建Centos6基础镜像需要对Linux系统进行稍微做一下修改,主要体现在yum的源方面。
CentOS7上安装supermin5
# yum install supermin5 supermin5-devel -y 已加载插件:fastestmirrorLoading mirror speeds from cached hostfile * base: centos.ustc.edu.cn * elrepo: hkg.mirror.rackspace.com * extras: mirrors.cn99.com * updates: mirrors.cn99.com正在解决依赖关系--> 正在检查事务---> 软件包 supermin5.x86_64.0.5.1.16-4.el7 将被 安装---> 软件包 supermin5-devel.x86_64.0.5.1.16-4.el7 将被 安装--> 正在处理依赖关系 rpm-build,它被软件包 supermin5-devel-5.1.16-4.el7.x86_64 需要--> 正在检查事务---> 软件包 rpm-build.x86_64.0.4.11.3-25.el7 将被 安装--> 正在处理依赖关系 patch >= 2.5,它被软件包 rpm-build-4.11.3-25.el7.x86_64 需要--> 正在处理依赖关系 elfutils >= 0.128,它被软件包 rpm-build-4.11.3-25.el7.x86_64 需要--> 正在处理依赖关系 unzip,它被软件包 rpm-build-4.11.3-25.el7.x86_64 需要--> 正在处理依赖关系 system-rpm-config,它被软件包 rpm-build-4.11.3-25.el7.x86_64 需要--> 正在处理依赖关系 perl(Thread::Queue),它被软件包 rpm-build-4.11.3-25.el7.x86_64 需要--> 正在处理依赖关系 bzip2,它被软件包 rpm-build-4.11.3-25.el7.x86_64 需要--> 正在处理依赖关系 /usr/bin/gdb-add-index,它被软件包 rpm-build-4.11.3-25.el7.x86_64 需要--> 正在检查事务---> 软件包 bzip2.x86_64.0.1.0.6-13.el7 将被 安装---> 软件包 elfutils.x86_64.0.0.168-8.el7 将被 安装---> 软件包 gdb.x86_64.0.7.6.1-100.el7 将被 安装---> 软件包 patch.x86_64.0.2.7.1-8.el7 将被 安装---> 软件包 perl-Thread-Queue.noarch.0.3.02-2.el7 将被 安装---> 软件包 redhat-rpm-config.noarch.0.9.1.0-76.el7.centos 将被 安装--> 正在处理依赖关系 dwz >= 0.4,它被软件包 redhat-rpm-config-9.1.0-76.el7.centos.noarch 需要--> 正在处理依赖关系 zip,它被软件包 redhat-rpm-config-9.1.0-76.el7.centos.noarch 需要--> 正在处理依赖关系 perl-srpm-macros,它被软件包 redhat-rpm-config-9.1.0-76.el7.centos.noarch 需要---> 软件包 unzip.x86_64.0.6.0-16.el7 将被 安装--> 正在检查事务---> 软件包 dwz.x86_64.0.0.11-3.el7 将被 安装---> 软件包 perl-srpm-macros.noarch.0.1-8.el7 将被 安装---> 软件包 zip.x86_64.0.3.0-11.el7 将被 安装--> 解决依赖关系完成依赖关系解决========================================================================================================================================================================= Package 架构 版本 源 大小=========================================================================================================================================================================正在安装: supermin5 x86_64 5.1.16-4.el7 base 550 k supermin5-devel x86_64 5.1.16-4.el7 base 14 k为依赖而安装: bzip2 x86_64 1.0.6-13.el7 base 52 k dwz x86_64 0.11-3.el7 base 99 k elfutils x86_64 0.168-8.el7 base 279 k gdb x86_64 7.6.1-100.el7 base 2.4 M patch x86_64 2.7.1-8.el7 base 110 k perl-Thread-Queue noarch 3.02-2.el7 base 17 k perl-srpm-macros noarch 1-8.el7 base 4.6 k redhat-rpm-config noarch 9.1.0-76.el7.centos base 79 k rpm-build x86_64 4.11.3-25.el7 base 146 k unzip x86_64 6.0-16.el7 base 169 k zip x86_64 3.0-11.el7 base 260 k事务概要=========================================================================================================================================================================安装 2 软件包 (+11 依赖软件包)总下载量:4.2 M安装大小:11 MDownloading packages:(1/13): dwz-0.11-3.el7.x86_64.rpm | 99 kB 00:00:00 (2/13): perl-Thread-Queue-3.02-2.el7.noarch.rpm | 17 kB 00:00:00 (3/13): perl-srpm-macros-1-8.el7.noarch.rpm | 4.6 kB 00:00:00 (4/13): patch-2.7.1-8.el7.x86_64.rpm | 110 kB 00:00:00 (5/13): elfutils-0.168-8.el7.x86_64.rpm | 279 kB 00:00:00 (6/13): rpm-build-4.11.3-25.el7.x86_64.rpm | 146 kB 00:00:00 (7/13): redhat-rpm-config-9.1.0-76.el7.centos.noarch.rpm | 79 kB 00:00:00 (8/13): supermin5-devel-5.1.16-4.el7.x86_64.rpm | 14 kB 00:00:00 (9/13): unzip-6.0-16.el7.x86_64.rpm | 169 kB 00:00:01 (10/13): zip-3.0-11.el7.x86_64.rpm | 260 kB 00:00:01 (11/13): supermin5-5.1.16-4.el7.x86_64.rpm | 550 kB 00:00:01 (12/13): gdb-7.6.1-100.el7.x86_64.rpm | 2.4 MB 00:00:24 bzip2-1.0.6-13.el7.x86_64.rpm FAILED http://mirrors.cqu.edu.cn/CentOS/7.4.1708/os/x86_64/Packages/bzip2-1.0.6-13.el7.x86_64.rpm: [Errno 12] Timeout on http://mirrors.cqu.edu.cn/CentOS/7.4.1708/os/x86_64/Packages/bzip2-1.0.6-13.el7.x86_64.rpm: (28, 'Connection timed out after 30001 milliseconds')正在尝试其它镜像。(13/13): bzip2-1.0.6-13.el7.x86_64.rpm | 52 kB 00:00:00 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------总计 141 kB/s | 4.2 MB 00:00:30 Running transaction checkRunning transaction testTransaction test succeededRunning transaction 正在安装 : unzip-6.0-16.el7.x86_64 1/13 正在安装 : patch-2.7.1-8.el7.x86_64 2/13 正在安装 : supermin5-5.1.16-4.el7.x86_64 3/13 正在安装 : elfutils-0.168-8.el7.x86_64 4/13 正在安装 : dwz-0.11-3.el7.x86_64 5/13 正在安装 : gdb-7.6.1-100.el7.x86_64 6/13 正在安装 : zip-3.0-11.el7.x86_64 7/13 正在安装 : bzip2-1.0.6-13.el7.x86_64 8/13 正在安装 : perl-srpm-macros-1-8.el7.noarch 9/13 正在安装 : redhat-rpm-config-9.1.0-76.el7.centos.noarch 10/13 正在安装 : perl-Thread-Queue-3.02-2.el7.noarch 11/13 正在安装 : rpm-build-4.11.3-25.el7.x86_64 12/13 正在安装 : supermin5-devel-5.1.16-4.el7.x86_64 13/13 验证中 : supermin5-devel-5.1.16-4.el7.x86_64 1/13 验证中 : perl-Thread-Queue-3.02-2.el7.noarch 2/13 验证中 : perl-srpm-macros-1-8.el7.noarch 3/13 验证中 : bzip2-1.0.6-13.el7.x86_64 4/13 验证中 : zip-3.0-11.el7.x86_64 5/13 验证中 : redhat-rpm-config-9.1.0-76.el7.centos.noarch 6/13 验证中 : gdb-7.6.1-100.el7.x86_64 7/13 验证中 : rpm-build-4.11.3-25.el7.x86_64 8/13 验证中 : dwz-0.11-3.el7.x86_64 9/13 验证中 : elfutils-0.168-8.el7.x86_64 10/13 验证中 : supermin5-5.1.16-4.el7.x86_64 11/13 验证中 : patch-2.7.1-8.el7.x86_64 12/13 验证中 : unzip-6.0-16.el7.x86_64 13/13 已安装: supermin5.x86_64 0:5.1.16-4.el7 supermin5-devel.x86_64 0:5.1.16-4.el7 作为依赖被安装: bzip2.x86_64 0:1.0.6-13.el7 dwz.x86_64 0:0.11-3.el7 elfutils.x86_64 0:0.168-8.el7 gdb.x86_64 0:7.6.1-100.el7 patch.x86_64 0:2.7.1-8.el7 perl-Thread-Queue.noarch 0:3.02-2.el7 perl-srpm-macros.noarch 0:1-8.el7 redhat-rpm-config.noarch 0:9.1.0-76.el7.centos rpm-build.x86_64 0:4.11.3-25.el7 unzip.x86_64 0:6.0-16.el7 zip.x86_64 0:3.0-11.el7 完毕!
修改centos 定制源
拷贝一份yum配置文件
cp /etc/yum.conf /home/yum.conf 修改一下 releasever 改为 6 sed -e -i 's/$releasever/6/g' /home/yum.conf
备份yum.repo.d 源
cp /etc/yum.repo.d /etc/yum.repo.d_baksed -e -i 's/^mirrorlist/#mirrorlist/g ;s/#baseurl/baseurl/g;s/$releasever/6/g;s/mirror.centos.org/mirrors.ustc.edu.cn/g' /etc/yum.repo.d/CentOS-Base.repo
创建镜像 (以下命令需要使用root运行)
# mkdir /home/centos6 -p # cd /home/centos6 # supermin5 -v --prepare bash coreutils -o supermin.d --packager-config /home/yum.conf可以安装一些 yum、vim 等, supermin5 -v --prepare bash coreutils -o supermin.d --packager-config /home/yum.conf# supermin5 -v --build --format chroot supermin.d -o appliance.d# echo 6 > appliance.d/etc/yum/vars/releasever# tar --numeric-owner -cpf centos-6.tar -C appliance.d .# cat centos-6.tar | docker import - registry.mychebao.com:5000/centos-6
查看镜像
docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEregistry.mychebao.com:5000/centos-6 latest 766e94ff309a About an hour ago 235MB
上传镜像到私有仓库
docker push registry.mychebao.com:5000/centos-6The push refers to repository [registry.mychebao.com:5000/centos-6]0cb07a03e3df: Pushed latest: digest: sha256:4f6f28a7d6aeefac72dd9457fd5d71ebf2d078958b2c08741d8f4796d78c5cf7 size: 528
©著作权归作者所有:来自51CTO博客作者jin771998569的原创作品,如需转载,请与作者联系,否则将追究法律责任