一、概述

创建镜像有两种方法,一是用commit命令,二是用dockerfile方法(这个更常用,在下面文章介绍)。本章介绍commit方法。

在介绍commit命令前,我们先回顾下对代码的版本控制,当修改代码后,我们会commit变更到版本服务器上。

对于容器类似的概念,当创建容器后,如果后面对容器做了修改,就可以利用commit命令将修改提交为一个新的镜像。

二、例子说明

下面我们通过具体的例子来说明:

1、创建新容器

docker run --name newcontent -i -t ubuntu /bin/bash

2、进行操作,修改容器内容

echo hello world >>test.txt   //通过重定向功能创建一个文件

3、退出shell,容器关闭

4、用diff命令查看容器的变化信息

xxx@ubuntu:~$ docker diff newcontent
C /root
A /root/.bash_history
A /test.txt

5、创建新镜像
docker commit newcontent  newnewcontent2

这时就在本地创建了一个仓库名为newnewcontent2,tag值为默认为latest的镜像。

规范的镜像名应该为:

[username/]repositoryName[:tagName]

如:docker commit newcontent  jeme/myubuntu:1.0

如果没有tagName,则默认为latest。

注意:如果需要把该镜像提交到dokcer hub中心,则必须规范命名(必须是  用户名/仓库名,tag可以缺省),前面的用户名是在dokcer hub上注册的用户名。

三、删除本地镜像

docker rmi  镜像名/ID

docker学习笔记5:利用commit命令创建镜像 和 删除本地镜像的更多相关文章

  1. docker学习笔记二:常用命令

    docker学习笔记二:常用命令 查看docker常用命令 docker --help 返回结果如下: 其中常用的命令如下: 1.image相关操作 展示所有的image: 删除image: rmi ...

  2. docker基于commit命令创建支持ssh服务的镜像

    以centos为基础,目的使用ssh服务远程连接docker容器. 环境:宿主机centos7(宿主机ip地址为192.168.164.130),直接搜索docker的centos镜像,下载最新版本. ...

  3. Docker 学习笔记 (一)Dockerfile 创建本地镜像

    一.测试环境 OS version: CentOS Linux release 7.5.1804 (Core) docker cluster : master 1 + data node 4 dock ...

  4. Docker学习笔记(三):Dockerfile及多步骤构建镜像

    Dockerfile指令 官方文档地址:https://docs.docker.com/engine/reference/builder/ Dockerfile是一个文本格式的配置文件,其内容包含众多 ...

  5. ANDROID_MARS学习笔记_S02_012_ANIMATION_利用AnimationListener在动画结束时删除或添加组件

    一.代码 1.xml(1)activity_main.xml <?xml version="1.0" encoding="utf-8"?> < ...

  6. Git与GitHub学习笔记(三).gitignore文件忽略和删除本地以及远程文件

    一.Git提供了文件忽略功能.当对工作区某个目录或者某些文件设置了忽略后,git将不会对它们进行追踪 HELP:如何在IntelliJ IDEA中使用.ignore插件忽略不必要提交的文件 问题:最近 ...

  7. docker学习笔记(3)- 镜像

    简介 在docker学习笔记(1)- 架构概述一节中可以看到镜像是docker三大组件之一,可以将Docker镜像类比为虚拟机的模版. 镜像由多个层组成,每层叠加之后从外部看就像一个独立的对象,镜像的 ...

  8. docker学习笔记6:利用dockerfile创建镜像介绍(生成简单web服务器镜像)

    本文介绍如何利用dockerfile来创建镜像.下面介绍具体的操作过程: 一.创建构建环境 操作示例如下: xxx@ubuntu:~$ pwd /home/xxx xxx@ubuntu:~$ mkdi ...

  9. docker commit命令创建新的镜像

    docker commit命令创建新的镜像 1.运行容器 2.修改容器 3.将容器保存为新容器 (1)运行容器 [root@cmdb-server docker]# docker run -ti ce ...

随机推荐

  1. Java多线程之synchronized(四)

    前面几章都是在说synchronized用于对象锁,无论是修饰方法也好修饰代码块也好,然而关键字synchronized还可以应用到static静态方法上,如果这样写,那就是对当前的*.java文件所 ...

  2. spring和mybatis整合进行事务管理

    1.声明式实现事务管理 XML命名空间定义,定义用于事务支持的tx命名空间和AOP支持的aop命名空间: <beans xmlns="http://www.springframewor ...

  3. 在Eclipse中使用JDBC访问MySQL数据库的配置方法

    在Eclipse中使用JDBC访问MySQL数据库的配置方法 分类: DATABASE 数据结构与算法2009-10-10 16:37 5313人阅读 评论(10) 收藏 举报 jdbcmysql数据 ...

  4. urlretrieve

    urllib.urlretrieve(url[, filename[, reporthook[, data]]])参数说明:url:外部或者本地urlfilename:指定了保存到本地的路径(如果未指 ...

  5. Cygwin ssh

    http://www.evalumation.com/blog/86-cygwin-windows7-sshd

  6. 第二节 EAN 8 码 / EAN 13 码

    EAN码的全名为欧洲商品条码(European Article Number),源於西元1977年,由欧洲十二个工业国家所共同发展出来的一种条码.目前已成为一种国际性的条码系统.EAN条码系统的管理是 ...

  7. 解决sqlite删除数据后,文件大小不变问题(VACUUM)

    删除表格的全部数据: DELETE FROM [Name] 当在sqlite中删除了大量数据后,数据库文件的大小还是那样,没有变.原因是:从Sqlite删除数据后,未使用的磁盘空间被添加到一个内在的” ...

  8. 解题报告 HDU1789 Doing Homework again

    Doing Homework again Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64 ...

  9. android 仿小米icon处理,加阴影和边框

    本人自己在做一个launcher,所以须要处理icon,加阴影和边框等.这仅仅是一种处理方法,其它的处理方法类似. 源码: https://github.com/com314159/LauncherI ...

  10. hdu 5057 Argestes and Sequence

    Argestes and Sequence Time Limit: 5000/2500 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Ot ...