Docker 核心技术之容器与镜像
Docker容器与镜像的关系

容器提交 – docker commit
docker commit -h

作用:
- 根据容器生成一个新的镜像
命令格式:
- docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
命令参数(OPTIONS):
- -a, --author string 作者
- -c, --change list 为创建的镜像加入Dockerfile命令
- -m, --message string 提交信息,类似git commit -m
- -p, --pause 提交时暂停容器 (default true)
命令演示 (在d9e 的容器中安装 net-tools 的包)
docker run -dti centos bash docker exec d9e56 yum install -y net-tools docker exec d9e56 ifconfig
把 d9e 的容器重新生成一个新的镜像
docker commit -m 'install net-tools' d9e56 centos-net:v1.0 docker images

查看 镜像 历史记录
docker history centos-net:v1.0

容器导出 – docker export
docker export -h

作用:
- 将容器当前的文件系统导出成一个tar文件
命令格式:
- docker export [OPTIONS] CONTAINER
命令参数(OPTIONS):
- -o, --output string 指定写入的文件,默认是STDOUT
命令演示
docker export -o net-tools-image.tar d9e ls

容器打包的导入 – docker import
docker import -h

作用:
- 从一个tar文件中导入内容创建一个镜像
命令格式:
- docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]
命令参数(OPTIONS):
- -c, --change list 为创建的镜像加入Dockerfile命令
- -m, --message string 导入时,添加提交信息
命令演示
docker import -m '(import) install net-tools' net-tools-image.tar centos2:v1.0

docker history centos2:v1.0

可以看到 import 和 commit 都会生成一个镜像,区别在于import 生成的是一个全新的镜像不保留历史的信息,而 commit 会保留历史的信息,这点可以通过 docker history 去查看
深入理解Docker容器与镜像
镜像的layer
这个可以通过 docker inspect 去查看,每对镜像进行一次修改,都会在Layers 中增加一条记录


镜像的视角

容器的Layer


容器的视角

容器与镜像的底层关系

容器的运行


Docker 核心技术之容器与镜像的更多相关文章
- docker 批量删除容器和镜像
docker 批量删除容器和镜像 1,删除单个镜像或者容器 docker rmi 镜像ID/镜像名字:TAG docker rm 容器ID/容器名字 1.停止所有的container,这样才能 ...
- docker入门(二)容器与镜像的理解
10张图带你深入理解Docker容器和镜像 申明:此篇文章是转载的(原文地址http://dockone.io/article/783),今天意外发现已经有人转载了(复制了),希望大家关注原创 原本打 ...
- docker入门(二)容器与镜像的关系
[编者的话]本文用图文并茂的方式介绍了容器.镜像的区别和Docker每个命令后面的技术细节,能够很好的帮助读者深入理解Docker. 这篇文章希望能够帮助读者深入理解Docker的命令,还有容器(co ...
- Docker 核心技术之容器
什么是容器 容器(Container) 容器是一种轻量级.可移植.并将应用程序进行的打包的技术,使应用程序可以在几乎任何地方以相同的方式运行 Docker将镜像文件运行起来后,产生的对象就是容器.容器 ...
- 【docker专栏3】docker基础概念-容器、镜像以及引擎组成部分
一.docker镜像与容器 docker镜像是一个可执行的静态独立软件包,包含打包程序代码和软件运行环境等文件.如:代码.运行时库.环境变量和配置文件等都包含在其中.容器是镜像的运行时状态(镜像中的软 ...
- docker批量删除容器、镜像
1.删除所有容器 docker rm `docker ps -a -q` docker rm $(docker ps -aq) 2.删除所有镜像 docker rmi `docker images - ...
- docker批量删除容器、镜像(转载)
1.删除所有容器 docker rm `docker ps -a -q` 2.删除所有镜像 docker rmi `docker images -q` 3.按条件删除镜像 没有打标签 docker r ...
- Docker 核心技术
docker是什么?为什么会出现? 容器虚拟化技术:轻量级的虚拟机(但不是虚拟机) 开发:提交代码 ——> 运维:部署 在这中间,因为环境和配置,出现问题 ——> 把代码/配置/系统/数据 ...
- docker(一) -- docker安装、容器加速、下载、备份
一.docker的 容器是从镜像中创建出来的虚拟实例 容器用来运行实例,是读写层 镜像用来安装程序,是只读层 1. docker的安装和基本操作 安装命令 yum -y update yum inst ...
随机推荐
- 使用 Moq 测试.NET Core 应用 -- Mock 方法
第一篇文章, 关于Mock的概念介绍: https://www.cnblogs.com/cgzl/p/9294431.html 本文介绍使用Moq来Mock方法. 使用的代码: https://git ...
- 【机器学习】--Python机器学习库之Numpy
一.前述 NumPy(Numerical Python的缩写)是一个开源的Python科学计算库.使用NumPy,就可以很自然地使用数组和矩阵. NumPy包含很多实用的数学函数,涵盖线性代数运算.傅 ...
- ASP.NET Core中使用GraphQL - 第六章 使用EF Core作为持久化仓储
ASP.NET Core中使用GraphQL ASP.NET Core中使用GraphQL - 第一章 Hello World ASP.NET Core中使用GraphQL - 第二章 中间件 ASP ...
- PhotoPickerNewDemo【PhotoPicker0.9.12的个性化修改以及使用(内部glide版本号是4.1.1)】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 本Demo使用的是PhotoPicker 0.9.12版本,里面集成的glide版本号是4.1.1.这里就不进行特殊的个性化处理了( ...
- springboot~yml里的自定义配置
主要介绍三种,字符串配置,数组配置和带默认值的配置 字符串配置 //yml setString: hello /** * 字符串. */ @Value("${setString}" ...
- 高性能消息队列NSQ
前言 最近我再网上寻找使用golang实现的mq,因为我知道golang一般实现的应用部署起来很方便,所以我就找到了一个叫做nsq的mq,其实它并不能完全称为队列,但是它的轻量和性能的高效,让我真的大 ...
- Shell编程(week4_day4)--技术流ken
本节内容 1. shell函数 2. shell正则表达式 shell函数 shell中允许将一组命令集合或语句形成一段可用代码,这些代码块称为shell函数.给这段代码起个名字称为函数名,后续可以直 ...
- js获取url 中的值,并跳转相应页面
实现方法:一:获取URL带QUESTRING参数的JAVASCRIPT客户端解决方案,相当于asp的request.querystring,PHP的$_GET1.函数: <Script lang ...
- WebForm+一般处理程序+Ajax聊天
#### 很容易理解 插入数据 到数据库 在使用 setInterval() 读取数据 显示在 页面中 好了 不废话 直接上代码 不会的 可以加我 微信 Jth11163## 效果图片 ![在这里插入 ...
- 【译】《C# Tips -- Write Better C#》
[译]<C# Tips -- Write Better C#> <C# 奇淫巧技 -- 编写更优雅的 C#> 目录 介绍(Introduction) 第一部分:各种奇淫巧技(P ...