1.我们在制作dockerfile的时候可能有些命令无法执行,导致镜像无法创建成功,这时我们可以修改dockerfile,从而达到我们的目的

查看Dockerfile内容

创建新的镜像,失败

Dockerfile在执行新的命令的时候:这里是第三步出现错误,可以看到第二部成功创建了一个新的镜像层

我们可以进行出现错误的上一层,这里是第二层,进行排错

我们可以发现   确实没有这个软件包

在本例子中很容易发现是我找的软件包有问题,在第二部新产生的镜像中,重新安装ftp

可以安装成功

可以使用docker  commit去保存这个新镜像

新镜像创建成功

新镜像中ftp和kun文件已经被创建和安装

个人感悟:

本节讨论的是调整dockerfile,但是我最后是通过调整分层镜像+docker commit的方法进行镜像的制作的,我感觉我们可以通过更改Dockerfile文件内容来进行更改

查看Dockerfile内容

创建新的镜像,肯定是错误的,下面我们更改Dockerfile的内容,重新创建镜像,看是否会成功

Dockerfile已经进行更改

创建新的镜像,名为centos-kutree

查看镜像是否存在

证明已经存在,说明在制作镜像出现问题的时候,我们可以更改Dockerfile重新创建镜像,当然如果无法排查问题出现的原因的情况下可以使用第一种办法:进入上层镜像,找到问题,重新保存镜像!

镜像的cache缓存作用

更改Dockerfile,新增加一个touch li

之前我做的实验的名为centos-ftpdkun中开始的命令也是touch kun

可以用docker history 来查看我的centos-ftpdkun的创建过程

在创建新的镜像时,第二部使用的是cache缓存镜像,这里的镜像ID与以上centos-ftpdkun是一致的,这就是镜像的缓存性质。

个人感悟:提升了创建镜像的速度

最新文章

  1. chrome拓展开发实战:页面脚本的拦截注入
  2. Service基础使用
  3. colorbox 自适应 高度
  4. ASP.NET Web API 学习【转】
  5. 浅谈Entity Framework中的数据加载方式
  6. hdu 1098 Lowest Bit 解题报告
  7. Spark运行环境的安装
  8. iOS开发--混编篇&swift与OC混合使用
  9. FMDB将对象放进数据库[一]
  10. 实时控制软件第一周 汽车ABS系统软件分析
  11. actor
  12. Java中HashMap源码分析
  13. 原生JS的HTTP请求
  14. Effective Java 第三版——6. 避免创建不必要的对象
  15. 解读Raft(四 成员变更)
  16. 菜鸟教程之学习Shell script笔记(下)
  17. VXLAN实验
  18. 所有Windows7下游戏的全屏问题
  19. Android 虹软免费人脸识别 SDK开发
  20. HDUOJ-------The Hardest Problem Ever

热门文章

  1. 如何将自定义的搜索参数便捷的添加到js方式的bootstrap table的参数中
  2. 菜鸟入门【ASP.NET Core】2:部署到IIS
  3. linux下如何批量杀JAVA进程或某个进程方法
  4. What are the differences between a pointer variable and a reference variable in C++?
  5. 列表中文字太多 溢出使用省略号css方法
  6. 初学HTML-10
  7. 【代码笔记】Web-ionic-表单和输入框
  8. IDEA项目搭建十——使用slf4j和logback进行日志记录
  9. 视觉slam领域经典综述和具体应用场景
  10. typedef struct LNode命名结构指针(线性表的链式存储)