由于工作原因,想找一个红旗Linux的基础镜像(base image)。网上搜了一下,但没有现成的。起初是想找对应的centos版本来代替,但又怕有些莫名其妙的问题。
官方文档
不过搜索过程中,发现有人有类似的疑问,参见这个链接:
里面提到了docker官方的文档,教你如何构建自己的base image。官方文档在此
里面大概有2种思路,一种是使用类似于 debootstrap 的工具,一种是自建从头写 dockerfile,base image为
from scratch
此处的scratch代表一个空镜像。
由于不知道红旗Linux做了哪些魔改,所以开始尝试第一种方法:debootstrap工具。
但有个问题,debootstrap是debian系的,红旗整体是红帽系的…不过巧了,在搜debootstrap的时候,发现有人基于debootstrap开发了febootstrap。
febootstrap
安装比较简单,找到对应的包,就可以了。
解压后进入对应文件夹,使用如下命令安装
rpm -ivh *rpm
使用步骤参考这篇文章
安装步骤
步骤基本与上文一致,部分细节不一样,各取所需~
由于并没有找到红旗Linux可用的rpm源,就只能使用本地光盘制作镜像。
此处需要挂载iso文件,使用下列命令挂载即可
mount -o loop xxxx.iso mount_dir_name
cd dir_name
python -m SimpleHTTPServer 80 (Python2)
建立本地源
cd /etc/yum.repos.d/
tar zcf yum.tar.gz .
rm -rf *.repo
添加本地源文件
cat >/etc/yum.repos.d/cdrom.repo <
选择对应目录,执行
cd workdir # 根据情况自己定
febootstrap -i bash -i wget -i yum -i man -i vim -i openssh-server -i openssh-clients -i tar -i gzip redflag redflag-7.3-base http://127.0.0.1
上述命令会生成一个redflag-7.3-base文件夹,进入文件夹,拷贝所需文件,并打包镜像
cd workdir
cp /etc/skel/.bash* redflag-7.3-base/root/
tar -c .|docker import - redflag-7.3:base # 生成的镜像名
查看镜像
docker image ls # 可以看到 redflag-7.3:base
docker -it redflag-7.3:base bash # 可以进入容器即为成功
至此完成~
过程中遇到了挂载u盘的问题,ntfs u盘可以参考
exfat u盘,参考
yum localinstall --nogpgcheck http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum localinstall http://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm
yum clean & yum makecache
yum install exfat-utils fuse-exfat
mount.exfat /dev/sdb1 /root/data/udisk/
Original: https://www.cnblogs.com/wswang/p/14511888.html
Author: wswang
Title: 打造一个红旗(redflag)Linux的基础镜像(base image)
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/585799/
转载文章受原作者版权保护。转载请注明原作者出处!