全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

详解Docker 容器基础系统镜像打包

因为容器本身是共享宿主操作系统内核,所以容器基础系统镜像包本身就是一个标准的 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小时内与您取得联系。