玩坏Docker(三):构建镜像之docker commit

Docker 提供了两种构建镜像的方法:

  1. docker commit 命令 (不推荐)

  2. Dockerfile 构建文件 (推荐)
    docker commit
    docker commit 命令是创建新镜像最直观的方法,其过程包含三个步骤:

  3. 运行容器

  4. 修改容器

  5. 将容器保存为新的镜像

举个例子:在 ubuntu base 镜像中安装 vi 并保存为新镜像。

  1. 第一步, 运行容器
    在这里插入图片描述-it 参数的作用是以交互模式进入容器,并打开终端。412b30588f4a 是容器的内部 ID。

  2. 安装 vi
    在这里插入图片描述3. 保存为新镜像
    在新窗口中查看当前运行的容器。
    在这里插入图片描述
    priceless_goldberg是 Docker 为我们的容器随机分配的名字。

执行 docker commit 命令将容器保存为镜像。
在这里插入图片描述
新镜像命名为 ubuntu-with-vi。

查看新镜像的属性。
在这里插入图片描述
从 size 上看到镜像因为安装了软件而变大了。

从新镜像启动容器,验证 vi 已经可以使用。
在这里插入图片描述. 这是一种手工创建镜像的方式,容易出错,效率低且可重复性弱。比如要在 debian base 镜像中也加入 vi,还得重复前面的所有步骤。

  1. 更重要的:使用者并不知道镜像是如何创建出来的,里面是否有恶意程序。也就是说无法对镜像进行审计,存在安全隐患。

既然 docker commit 不是推荐的方法,我们干嘛还要花时间学习呢?

原因是:即便是用 Dockerfile(推荐方法)构建镜像,底层也 docker commit 一层一层构建新镜像的。学习 docker commit 能够帮助我们更加深入地理解构建过程和镜像的分层结构。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值