打造一个红旗(redflag)Linux的基础镜像(base image)「建议收藏」

打造一个红旗(redflag)Linux的基础镜像(base image)「建议收藏」起因由于工作原因,想找一个红旗Linux的基础镜像(baseimage)。网上搜了一下,但没有现成的。起初是想找对应的centos版本来代替,但又怕有些莫名其妙的问题。官方文档不过搜索过程中,

大家好,又见面了,我是你们的朋友全栈君。

起因

由于工作原因,想找一个红旗Linux的基础镜像(base image)。网上搜了一下,但没有现成的。起初是想找对应的centos版本来代替,但又怕有些莫名其妙的问题。

官方文档

不过搜索过程中,发现有人有类似的疑问,参见这个链接:

https://segmentfault.com/q/1010000005821637

里面提到了docker官方的文档,教你如何构建自己的base image。官方文档在此

https://docs.docker.com/develop/develop-images/baseimages/

里面大概有2种思路,一种是使用类似于 debootstrap 的工具,一种是自建从头写 dockerfile,base image为

from scratch

此处的scratch代表一个空镜像。

由于不知道红旗Linux做了哪些魔改,所以开始尝试第一种方法:debootstrap工具。

但有个问题,debootstrap是debian系的,红旗整体是红帽系的…不过巧了,在搜debootstrap的时候,发现有人基于debootstrap开发了febootstrap。

febootstrap

安装比较简单,找到对应的包,就可以了。

febootstrap.rar

解压后进入对应文件夹,使用如下命令安装

rpm -ivh *rpm

使用步骤参考这篇文章

https://www.58jb.com/html/66.html

安装步骤

步骤基本与上文一致,部分细节不一样,各取所需~

由于并没有找到红旗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 <<-EOF  # 回车后输入下列数据
[c6-media]
name=Redflag-Media
baseurl=file:///dir_name
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Redflag-7-x86_64
EOF # 回车

选择对应目录,执行

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盘可以参考

https://my.oschina.net/u/4364192/blog/3326016

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/
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/155350.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 几款好用的随机密码生成器软件_8位密码生成器

    几款好用的随机密码生成器软件_8位密码生成器Linux下随机生成密码的命令总结2017-03-1210:41by潇湘隐者,5666阅读,0评论,收藏,编辑有时候经常为如何设置一个安全、符合密码复杂度的密码而绞尽脑汁,说实话

  • ajax跨域解除方案,关于Ajax跨域问题及解决方案详析「建议收藏」

    ajax跨域解除方案,关于Ajax跨域问题及解决方案详析「建议收藏」复现Ajax跨域问题做两个简单的小项目复现Ajax跨域问题.后端语言使用Java首先是一个简单的订单系统,通过访问/loadOrderList,最终以json串形式返回订单集合.该项目使用Tomcat发布在7070端口.@RequestMapping(“/loadOrderList”)@ResponseBodypublicListloadOrderList(Stringuid){//…

  • Java基础入门笔记07——泛型类

    Java基础入门笔记07——泛型类泛型用来限制集合的存入类型:指定一种。(保证类型安全)Java中的泛型只在编译过程中生效,编译结束就清除相关信息,泛型信息不会进入运行阶段泛型的使用1.泛型类package study1118;public class Test01 { public static void main(String[] args) { //指定泛型为String A<String> a1 = new A<>(); a1.setKe

  • 通俗易懂的Mybatis工作原理[通俗易懂]

    作为半自动的ORM框架,Mybatis被越来越多的企业接受。搞清楚它的工作原理以及底层实现,对于开发者可事半功倍。很多文章都是使用大批量的源码流程去分析原理。对于有源码阅读功底的开发者,也许还能招架住,但还是不直观。我以前的很多文章都是这么做的,后来有朋友私信建议说,这些文章类似于个人笔记,只能自己阅读,不利于分享,所以,本文将尝试采用通俗易懂的白话文带领大家认识一下Mybatis的工作原理。(PS:大家可以设想,如果自己在开发Mybatis,该如何设计好Mybatis的功能呢?)一...

  • Week04-面向对象设计与继承

    Week04-面向对象设计与继承

  • tabnine 激活码【2021.7最新】

    (tabnine 激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.htmlKUKQYKZ5XE-eyJsaWNlbnNlSW…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号