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

centos7下安装docker(3.3创建镜像--修改dockerfile)的更多相关文章
- centos7下安装docker与镜像加速
1.背景 centos7下安装docker 2.安装 第一步:检查是否为centos7版本 第二步:依赖环境安装 执行如下两个命令: yum -y install gcc yum -y install ...
- docker(一) Centos7下安装docker
docker(一) Centos7下安装dockerdocker(二) windows10下安装dockerdocker(三) 镜像和容器常用命令 docker(四) 使用Dockerfile构建镜像 ...
- CentOS7下安装docker(Docker系列1)
CentOS7下安装docker 系统要求 为了安装docker,需要准备 64-bit的CentOS 7 删除非官方的Docker包 yum的仓库中有一个很旧的Docker包, 现在Docker官方 ...
- centos7 下安装docker报错:You could try using...
搞了台VPS,想要装docker,发现死活装不上,各种报错.之前系统是centos6,发现官方现在已经不支持centos6了,遂升级到centos7,然后还是出现下面这个错误. Error: Pack ...
- centos7下安装docker(3.2创建镜像build)
通过Dockerfile创建镜像 注:这个Dockerfile一开始真的不知道是在哪来的,还以为是在官网下载下来得(当然网上也有很多dockerfile的模板,参考:https://hub.docke ...
- centos7下安装docker(3.1创建镜像commit)
docker commit创建镜像 步骤:1.运行容器 2.修改容器 3.将容器保存为镜像 1. 注:-it是以交互模式进入容器,并打开终端 2.安装一个vim进行修改镜像 yum install - ...
- centos7下安装docker(21docker swarm集群创建)
创建swarm集群: 实验环境:盗图 swarm-manager是manager node,swarm-worker1和swarm-worker2是worker node. 所有节点的docker版本 ...
- centos7下安装docker(6镜像总结)
学了很长时间的镜像了,从镜像的分层,缓存的特性,到制作镜像:通过docker commint和docker build创建,再到制作dockerfile以及dockerfile中常用的参数FROM,M ...
- centos7下安装docker(2镜像)
docker最小的镜像——hello-world 下载镜像 docker pull docker pull hello-world 查看镜像 docker images docker images ...
随机推荐
- Hyperledger Fabric密码模块系列之BCCSP(三)
fabric中通过工厂模式来生成bccsp实例,进而通过bccsp的接口来提供加密.解密.签名验证以及哈希等操作. fabric的factory工厂默认返回的bccsp实例是sw(也就是所有密码操作都 ...
- .Net Core 简单定时任务框架封装
有段日子没有更新,写点东西冒个泡 .这篇文章过来讲个小东西,也是大家在日常开发中也经常需要面临的问题:后台定时任务处理.估计大家看到这句就已经联想到 QuartZ 等类似第三方类库了,不好意思,后边的 ...
- 编写计算器程序学习JS责任链模式
设计模式中的责任链模式能够很好的处理程序过程的逻辑判断,提高程序可读性. 责任链模式的核心在于责任链上的元素判断能够处理该数据,不能处理的话直接交给它的后继者. 计算器的基本样式: 通过div+css ...
- 【esayui】扩展验证方法,控件验证
基础验证 //页面调用方法$.extend($.fn.validatebox.defaults.rules, { 验证电话 IsPhoneRex: {validator: function (valu ...
- [PHP]算法-归并排序的PHP实现
<?php //归并排序 function merge(&$A,$left,$mid,$right,$temp){ //7.左堆起始 $i=$left; //8.右堆起始 $j=$mid ...
- jQuery文档操作方法对比和src写法
jQuery文档操作方法对比 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...
- iomanip的作用 C++
c++程序里面经常见到下面的头文件 #include <iomanip> 这里面iomanip的作用比较多: 主要是对cin,cout之类的一些操纵运算子,比如setfill,setw,s ...
- 微信服务器配置令牌(Token)
实现步骤: 第一步:填写服务器配置 登录微信公众平台官网后,在公众平台后台管理页面 - 开发者中心页,点击“修改配置”按钮,填写服务器地址(URL).Token和EncodingAESKey,其中UR ...
- cdn原理的理解
今天要做个小笔记,浅谈一下对cdn的一些理解,在工作中我们经常用到cdn代理访问,那他的原理是什么不知道大家有没有考虑过 CDN的基本原理是广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集 ...
- 【读书笔记】iOS-iOS的UI自动化测试
1,Instruments iOS自带的自动化测试工具. 2,TuneupJs 最早的iOS自动化测试工具 https://github.com/alexvollmer/tuneup_js 3,yn ...