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是一致的,这就是镜像的缓存性质。

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

centos7下安装docker(3.3创建镜像--修改dockerfile)的更多相关文章

  1. centos7下安装docker与镜像加速

    1.背景 centos7下安装docker 2.安装 第一步:检查是否为centos7版本 第二步:依赖环境安装 执行如下两个命令: yum -y install gcc yum -y install ...

  2. docker(一) Centos7下安装docker

    docker(一) Centos7下安装dockerdocker(二) windows10下安装dockerdocker(三) 镜像和容器常用命令 docker(四) 使用Dockerfile构建镜像 ...

  3. CentOS7下安装docker(Docker系列1)

    CentOS7下安装docker 系统要求 为了安装docker,需要准备 64-bit的CentOS 7 删除非官方的Docker包 yum的仓库中有一个很旧的Docker包, 现在Docker官方 ...

  4. centos7 下安装docker报错:You could try using...

    搞了台VPS,想要装docker,发现死活装不上,各种报错.之前系统是centos6,发现官方现在已经不支持centos6了,遂升级到centos7,然后还是出现下面这个错误. Error: Pack ...

  5. centos7下安装docker(3.2创建镜像build)

    通过Dockerfile创建镜像 注:这个Dockerfile一开始真的不知道是在哪来的,还以为是在官网下载下来得(当然网上也有很多dockerfile的模板,参考:https://hub.docke ...

  6. centos7下安装docker(3.1创建镜像commit)

    docker commit创建镜像 步骤:1.运行容器 2.修改容器 3.将容器保存为镜像 1. 注:-it是以交互模式进入容器,并打开终端 2.安装一个vim进行修改镜像 yum install - ...

  7. centos7下安装docker(21docker swarm集群创建)

    创建swarm集群: 实验环境:盗图 swarm-manager是manager node,swarm-worker1和swarm-worker2是worker node. 所有节点的docker版本 ...

  8. centos7下安装docker(6镜像总结)

    学了很长时间的镜像了,从镜像的分层,缓存的特性,到制作镜像:通过docker commint和docker build创建,再到制作dockerfile以及dockerfile中常用的参数FROM,M ...

  9. centos7下安装docker(2镜像)

    docker最小的镜像——hello-world 下载镜像  docker pull docker pull hello-world 查看镜像  docker images docker images ...

随机推荐

  1. 光流法详解之二(HS光流)

    Horn–Schunck光流算法[1]是一种全局方法估算光流场. 参考博文:https://blog.csdn.net/hhyh612/article/details/79216021 假设条件: H ...

  2. C#基础---浅谈XML读取以及简单的ORM实现

    背景: 在开发ASP.NETMVC4 项目中,虽然web.config配置满足了大部分需求,不过对于某些特定业务,我们有时候需要添加新的配置文件来记录配置信息,那么XML文件配置无疑是我们选择的一个方 ...

  3. angularjs学习第六天笔记(指令简介学习)

    您好,由于周末有事情,没哟学习angularjs,几天晚上开始继续学习angularjs,坚持加油每一天.谢谢 接着上周五学习了表单验证以后,今天开始学习angularjs中一个非常重要的模块:指令 ...

  4. ECMAScript typeof用法

    typeof 返回变量的类型字符串值 .其中包括 “object”.“number”.“string”.“undefined”.“boolean”. 1.在变量只声明.却不初始化值   Or 在变量没 ...

  5. 搜藏一个php文件上传类

    <?php /** * 上传文件类 * @param _path : 服务器文件存放路径 * @param _allowType : 允许上传的文件类型和所对应的MIME * @param _f ...

  6. 怎样删除C/C++代码中的所有注释?浅谈状态机的编程思想

    K&R习题1-23中,要求“编写一个程序,删除C语言程序中所有的注释语句.要正确处理带引号的字符串与字符常量.在C语言中,注释不允许嵌套”. 如果不考虑字符常量和字符串常量,问题确实很简单.只 ...

  7. HTML meta头部小结

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. linux学习笔记-lrmi源码包的编译安装方法

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 官方的lrmi包没有人更新了,如果碰到需要这个编译安装这个包,可以参考我的解决思路,如下: https://pkgs.org/这 ...

  9. Python中的基本数据类型的区别

    set集合和dict字典的区别 唯一区别: set没有对应的value值 相同点: 都无索引,不可进行切片和根据索引进行的操作 两者都是不可哈希的可变类型 两者的内部元素是可哈希的不可变类型 利用哈希 ...

  10. element-ui中table表头表格错误问题解决

    我用的是element-ui v1.4.3 在iframe关闭和切换导航会引起有table的表格错位,解决办法: handleAdminNavTab: function(tab) { var admi ...