docker&export&save&chroot&busybox

基础镜像
  • docker的镜像和chroot的目录 是类似的东西,都是一个rootfs,它们都运行在bootfs,也就是内核层之上。所以只要chroot可以用的目录,打包之后,可以直接import成docker的镜像。
  • 如果想更多的定制化,可以通过build来构建我们的基础镜像
busybox
  • busybox 就是一个chroot的目录,也就是等价于一个rootfs。用一个很小的文件大小就包含了100多个linux基础命令。
  • 可以直接chroot 进 busybox目录,但是进去之后要修改PATH变量,增加/bin路径,才可以使用ls这样的命令
  • 可以将busybox的目录整个打包成一个tar,记住要打包的是目录里面的东西,不是目录本身。
  • 打包之后就可以直接import或者,写dockerfile ,在里面add,然后build。
load&import
  • load 不可以 加载快照,因为load很智能,它会检查镜像层,这就要用导元数据,而快照只是一个rootfs,没有元素据。
  • import可以导入 镜像文件,因为import的工作就是以下几步:
    1. 生成一个sha256ID
    2. 用ID生成一个目录
    3. 在目录中创建镜像层标准内容:一个名为json的文件保存元素据,一个VERSION文本文件
    4. 最后把被import的文件移进来,并改名字为layer.tar
  • 所以import一个镜像文件,其实就是白白多了一层。
  • 一般我们都尽可能用 commit,save,这样有分层,别人导入会很快,缺点是整个文件比较大
  • 如果我们是制作基础镜像,也就是第一层镜像,或者说某个应用的第一个版本,我们用export就比较有意义。因为它是一个整体,不怕别人修改下层影响到自己,同时别人的镜像库中只需要维持一个镜像,避免了各种依赖之后删除不了的麻烦。最重要的是包的大小也小很多,自动或手动了去掉了很多不需要的东西。比如我们在一个镜像上删除一个不需要的软件,想做一个更小的镜像,如果用commit save,发现一点都没小,反而大了,因为底层没变。但是用export就肯定会小。

转载于:https://my.oschina.net/backbye/blog/3014048

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值