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是一致的,这就是镜像的缓存性质。
个人感悟:提升了创建镜像的速度