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是一致的,这就是镜像的缓存性质。
个人感悟:提升了创建镜像的速度
- 【系列3】使用Dockerfile创建yum安装nginx服务的Centos Docker镜像
- 【系列3】使用Dockerfile创建带编译安装nginx服务的Centos Docker镜像
- docker 安装 创建支持ssh服务的镜像 创建nginx服务的镜像 用dockerfile制作nginx镜像
- 利用Dockerfile文件创建带有sshd服务的centos镜像
- 【系列2】使用Dockerfile创建带Apache服务的Centos Docker镜像
- Dockerfile 在创建的镜像中安装命令
- Docker实战:使用Dockerfile创建带Apache服务并支持ssh的Centos Docker镜像
- Dockerfile创建带有nginx服务的Centos Docker镜像
- 【Dockerfile】使用Dockerfile创建带Apache服务的Centos Docker镜像
- 【系列4】使用Dockerfile创建带tomcat的Centos Docker镜像
- 【系列5】使用Dockerfile创建带weblogic的Centos Docker镜像
- 【系列8】使用Dockerfile创建带MongoDB的Centos Docker镜像
- 【系列1】使用Dockerfile创建带sshd服务的Centos Docker镜像
- 详解使用Dockerfile创建带Apache服务的CentOS Docker镜像
- Docker实战:使用Dockerfile创建带nginx服务并支持ssh的Centos Docker镜像
- centos7下安装docker(2镜像)
- centos7下安装docker(6镜像总结)
- Docker实战:使用Dockerfile创建带tomcat服务并支持ssh的Centos Docker镜像
- 实战CENTOS6.5安装docker并创建asp.net mvc 5 镜像,运行MVC 网站
- 用dockerfile创建支持ssh服务的centos镜像