centos7下安装docker(3.3创建镜像--修改dockerfile)
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是一致的,这就是镜像的缓存性质。
个人感悟:提升了创建镜像的速度
最新文章
- chrome拓展开发实战:页面脚本的拦截注入
- Service基础使用
- colorbox 自适应 高度
- ASP.NET Web API 学习【转】
- 浅谈Entity Framework中的数据加载方式
- hdu 1098 Lowest Bit 解题报告
- Spark运行环境的安装
- iOS开发--混编篇&;swift与OC混合使用
- FMDB将对象放进数据库[一]
- 实时控制软件第一周 汽车ABS系统软件分析
- actor
- Java中HashMap源码分析
- 原生JS的HTTP请求
- Effective Java 第三版——6. 避免创建不必要的对象
- 解读Raft(四 成员变更)
- 菜鸟教程之学习Shell script笔记(下)
- VXLAN实验
- 所有Windows7下游戏的全屏问题
- Android 虹软免费人脸识别 SDK开发
- HDUOJ-------The Hardest Problem Ever
热门文章
- 如何将自定义的搜索参数便捷的添加到js方式的bootstrap table的参数中
- 菜鸟入门【ASP.NET Core】2:部署到IIS
- linux下如何批量杀JAVA进程或某个进程方法
- What are the differences between a pointer variable and a reference variable in C++?
- 列表中文字太多 溢出使用省略号css方法
- 初学HTML-10
- 【代码笔记】Web-ionic-表单和输入框
- IDEA项目搭建十——使用slf4j和logback进行日志记录
- 视觉slam领域经典综述和具体应用场景
- typedef struct LNode命名结构指针(线性表的链式存储)