因为容器本身是共享宿主操作系统内核,所以容器基础系统镜像包本身就是一个标准的 Linux rootfs + 用户自定义的工具。根据这个思路,我们就可以构建一个自己的容器基础系统镜像。

构建标准的 Linux rootfs 的方式有很多种方法,Redhat、Debian、SUSE等主流的发行版都有提供相应的工具支持。
大概的流程如下:
构建基础的 rootfs —> 配置基础系统参数 —> 部署用户自定义软件 —> 清理系统 —> 打包为容器镜像 —> 测试镜像 —> 发布仓库
以 Ubuntu 16.04.01 LTS 版为例,制作一个 Ubuntu 16.04 LTS 的 Docker 基础系统镜像:
1、安装 Debootstrap :
sudo apt install debootstrap
2、通过 Debootstrap 构建 Ubuntu 16.04 LTS 的 rootfs :
1)、创建 rootfs 存放的位置,如我们把新的 rootfs 存放在 /opt/new_os:
sudo mkdir -p /opt/new_os
2)、构建基础 Ubuntu 16.04 LTS 的 rootfs(Debootstrap 工具的参数使用 --help 查看):
sudo debootstrap --verbose --arch=amd64 xenial /opt/new_os http://mirrors.aliyun.com/ubuntu
3)、配置基础系统参数:
a、切换到新 rootfs :
sudo chroot /opt/new_os /bin/bash
b、安装基础包(请根据实际需求安装):
apt -y update && apt -y upgrade && apt -y install vim locales
c、配置系统字符集(根据提示进行):
dpkg-reconfigure locales
d、配置时区:
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
e、可选:配置第三方衍生系统版本信息(如:UbuntuKylin)
tee /etc/ubuntukylin-release <<-‘EOF'
DISTRIB_ID=Ubuntu Kylin
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu Kylin 16.04"
EOF
f、清理系统:
rm -Rf /tmp/* && apt clean
g、 退出当前 rootfs
exit
4)、打包并创建 Docker 镜像(前置条件:当前系统已经配置了 Docker 运行时环境):
sudo tar -C /opt/new_os/ -c . | sudo docker import - new_os
5)、测试
sudo docker run new_os cat /etc/lsb-release
3、发布到仓库(以发布到官方仓库为例,私有仓库请自行上传)
sudo docker login shibingli@yeah.net …… sudo docker tag new_os shibingli/new_os sudo docker push shibingli/new_os
4、完成。
5、补充,如果要把当前的系统环境打包为容器基础镜像,主要是 rootfs 的处理,可以参考以下命令:
tar --numeric-owner --exclude=/proc --exclude=/sys -cvf new_os.tar /
cat new_os.tar | docker import - new_os
或
sudo tar --numeric-owner --exclude=/proc --exclude=/sys -C / -c . | sudo docker import - new_os
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# docker
# 打包镜像
# docker打包镜像文件
# 使用Docker将容器打成镜像的方法步骤
# Docker常用的清除容器镜像命令小结
# Docker 镜像和容器的区别详解
# Docker 技巧之删除Docker容器和镜像
# docker中修改镜像容器的存放目录的方法
# Docker清理命令之如何删除所有的镜像和容器
# Docker导出镜像和容器的操作步骤
# Docker停止及删除容器和镜像的命令行示例(单个和所有)
# 镜像
# 自定义
# 为例
# 自己的
# 都有
# 放在
# 有很多
# 要把
# 可选
# 种方法
# 第三方
# 到新
# 大家多多
# 就可以
# 主要是
# 根据提示
# 请根据
# 把新
# 构建一个
# 操作系统
相关文章:
建站之星后台管理系统如何操作?
如何快速搭建自助建站会员专属系统?
魔毅自助建站系统:模板定制与SEO优化一键生成指南
Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解
巅云智能建站系统:可视化拖拽+多端适配+免费模板一键生成
大学网站设计制作软件有哪些,如何将网站制作成自己app?
如何获取上海专业网站定制建站电话?
如何用PHP工具快速搭建高效网站?
如何规划企业建站流程的关键步骤?
建站之星如何保障用户数据免受黑客入侵?
如何选择可靠的免备案建站服务器?
,有什么在线背英语单词效率比较高的网站?
宝塔面板如何快速创建新站点?
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
家庭建站与云服务器建站,如何选择更优?
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?
C#怎么使用委托和事件 C# delegate与event编程方法
广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
建站之星导航如何优化提升用户体验?
在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?
微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?
如何在IIS管理器中快速创建并配置网站?
济南企业网站制作公司,济南社保单位网上缴费步骤?
如何在企业微信快速生成手机电脑官网?
手机怎么制作网站教程步骤,手机怎么做自己的网页链接?
C++如何编写函数模板?(泛型编程入门)
如何制作算命网站,怎么注册算命网站?
台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?
如何获取开源自助建站系统免费下载链接?
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
建站之星后台密码遗忘或太弱?如何重置与强化?
网站制作大概要多少钱一个,做一个平台网站大概多少钱?
如何快速选择适合个人网站的云服务器配置?
文字头像制作网站推荐软件,醒图能自动配文字吗?
零服务器AI建站解决方案:快速部署与云端平台低成本实践
建站主机选择指南:服务器配置与SEO优化实战技巧
如何通过虚拟主机快速完成网站搭建?
新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?
如何设计高效校园网站?
如何在Ubuntu系统下快速搭建WordPress个人网站?
建站之星代理平台如何选择最佳方案?
建站之星如何取消后台验证码生成?
网站制作企业,网站的banner和导航栏是指什么?
一键网站制作软件,义乌购一件代发流程?
深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?
平台云上自助建站如何快速打造专业网站?
网站制作公司排行榜,四大门户网站排名?
阿里云网站搭建费用解析:服务器价格与建站成本优化指南
*请认真填写需求信息,我们会在24小时内与您取得联系。