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 ...
随机推荐
- JavaWeb学习 (十九)————JavaBean
一.什么是JavaBean JavaBean是一个遵循特定写法的Java类,它通常具有如下特点: 这个Java类必须具有一个无参的构造函数 属性必须私有化. 私有化的属性必须通过public类型的方法 ...
- FFmpeg流媒体处理-收流与推流
本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/10623968.html 1. 简介 流媒体是使用了流式传输的多媒体应用技术.如下是维基百 ...
- 在 浏览器中调用外接设备— —手写板 【win10 x64 手动注册ocx控件的方法】
PPAXSignToolSDK.ocx 浏览器下使用手写板时调用的控件,使用前必须先注册,,不然浏览器下版本无法正常工作. ocx 控件在安装包运行时会自动注册,如果安装包没有注册成功,需要进行手动注 ...
- js 日期格式转换(转载)
1.当前时间转为 “yyyy-MM-dd HH:MM:SS” function getNowFormatDate() { var date = new Date(); var seperator1 = ...
- Flask在Pycharm开启调试模式
一.Flask在Pycharm2018前的版本只需设置(两种方法之一): 1. 直接设置app的debug为true: app.debug=true 2. 把debug=true作为参数,传入到 ...
- Matlab disp()
matlab中disp()就是屏幕输出函数,类似于c语言中的printf()函数
- 在UWP中实现自己的MVVM设计模式
其实写这篇博文的时候我是拒绝的,因为这牵扯到一个高大上的东西——"框架".一说起这个东西,很多朋友就感觉有点蒙了,尤其是编程新手.因为它不像在代码里面定义一个变量那么显而易见,它是 ...
- 教你分分钟搞定Python之Flask框架
用最短的时间开发一个数据操作接口,Python是王道! 一.安装pip .首先检查linux有没有安装python-pip包,终端执行 pip -V [root@ network-scripts]# ...
- js事件冒泡和事件捕获详解
Javascript与HTML之间的交互是通过事件实现. 一.事件流 事件,是文档或浏览器窗口中发生的一些特定的交互瞬间.事件流,描述的是页面中接受事件的顺序.IE9,chrome,Firefox,O ...
- canvas-2rect.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...