Docker的镜像和容器的区别
Docker的镜像和容器的区别
作者:chszs,版权所有,未经同意,不得转载。博主主页:http://blog.csdn.net/chszs
一、Docker镜像
要理解Docker镜像和Docker容器之间的区别,确实不容易。
假设Linux内核是第0层,那么无论怎么运行Docker,它都是运行于内核层之上的。这个Docker镜像,是一个只读的镜像,位于第1层,它不能被修改或不能保存状态。
一个Docker镜像可以构建于另一个Docker镜像之上,这种层叠关系可以是多层的。第1层的镜像层我们称之为基础镜像(Base Image),其他层的镜像(除了最顶层)我们称之为父层镜像(Parent Image)。这些镜像继承了他们的父层镜像的所有属性和设置,并在Dockerfile中添加了自己的配置。
Docker镜像通过镜像ID进行识别。镜像ID是一个64字符的十六进制的字符串。但是当我们运行镜像时,通常我们不会使用镜像ID来引用镜像,而是使用镜像名来引用。要列出本地所有有效的镜像,可以使用命令
# docker images
镜像可以发布为不同的版本,这种机制我们称之为标签(Tag)。
如上图所示,neo4j镜像有两个版本:lastest版本和2.1.5版本。
可以使用pull命令加上指定的标签:
# docker pull ubuntu:14.04
# docker pull ubuntu:12.04
二、Docker容器
Docker容器可以使用命令创建:
# docker run imagename
它会在所有的镜像层之上增加一个可写层。这个可写层有运行在CPU上的进程,而且有两个不同的状态:运行态(Running)和退出态(Exited)。这就是Docker容器。当我们使用docker run启动容器,Docker容器就进入运行态,当我们停止Docker容器时,它就进入退出态。
当我们有一个正在运行的Docker容器时,从运行态到停止态,我们对它所做的一切变更都会永久地写到容器的文件系统中。要切记,对容器的变更是写入到容器的文件系统的,而不是写入到Docker镜像中的。
我们可以用同一个镜像启动多个Docker容器,这些容器启动后都是活动的,彼此还是相互隔离的。我们对其中一个容器所做的变更只会局限于那个容器本身。
如果对容器的底层镜像进行修改,那么当前正在运行的容器是不受影响的,不会发生自动更新现象。
如果想更新容器到其镜像的新版本,那么必须当心,确保我们是以正确的方式构建了数据结构,否则我们可能会导致损失容器中所有数据的后果。
64字符的十六进制的字符串来定义容器ID,它是容器的唯一标识符。容器之间的交互是依靠容器ID识别的,由于容器ID的字符太长,我们通常只需键入容器ID的前4个字符即可。当然,我们还可以使用容器名,但显然用4字符的容器ID更为简便。
Docker的镜像和容器的区别相关推荐
- 在Centos7 更改Docker默认镜像和容器的位置
在Centos7 更改Docker默认镜像和容器的位置 一.Why? 通常,当你开始使用docker时,我们并不太关心Docker 用于存储镜像和容器的默认目录.当使用Docker进行更多实验时,Do ...
- Docker架构镜像及容器管理
Docker概述 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制, ...
- Docker入门02 - Docker的镜像和容器
文章目录 1. Docker的镜像 A. 如何获取镜像? B. 列出镜像 C. 删除本地镜像 用 ID.镜像名.摘要删除镜像 Untagged 和 Deleted 用 docker image ls ...
- Docker之镜像、容器基础操作
目录 一.docker镜像操作 1.搜索镜像 2.获取镜像(下载镜像) 3.查看镜像 3.1 查看下载到本地的所有镜像 3.2 查看下载的镜像文件信息 3.3 查看具体镜像详细信息 4.为本地的镜像添 ...
- Docker之镜像、容器、仓库概念
Docker镜像 操作系统分为内核和用户空间.对于 Linux 而言,内核启动后,会挂载 root 文件系统为其提供用户空间支持.而 Docker 镜像(Image),就相当于是一个 root 文件系 ...
- 一句命令删除docker所有镜像或容器
使用docker有时想删除所有镜像,或删除所有容器,下面给出实现方法: 删除所有镜像: sudo docker rmi $(sudo docker images | sudo grep -o '[0 ...
- docker删除镜像、容器命令
#所有镜像和容器都删除的命令 docker system prune -a #查看镜像 docker images #删除单个镜像 docker rmi -f <镜像id> #删除所有镜像 ...
- 【docker】关于docker 中 镜像、容器的关系理解
例如,使用docker 拉取下来一个要用的镜像es docker pull elasticsearch:5.6.9 此时es的镜像存在与服务器上 docker images 对于你运行镜像为一个容器的 ...
- docker删除镜像及容器
问题 清理服务器相关无用docker镜像及容器. 删除镜像image 要删除 Docker 中的镜像,可以使用 docker rmi 命令.请注意,删除镜像前请确保不再需要它,并且已经停止了使用该镜像 ...
最新文章
- vue和layui哪个更好用_幕布和Mind+思维导图哪个更好用?
- boost::mp11::mp_all_of相关用法的测试程序
- 是用Entity.Save(),还是用DAL.Save(Entity e)
- C#高性能TCP服务的多种实现方式
- ASP.NET技巧:字符自动截取问题
- EJB3.0学习笔记---MDB--第一个MDBBean程序:
- [2018.07.21 T2] 离家出走
- 电厂数字化进阶之路(一):光明的使者
- 2022 基于SpringBoot的API文档管理系统 接口文档管理系统
- linux移除硬盘命令,在Linux中在线添加及移除SCSI硬盘方法
- Oracle Golden Gate 系列二 -- GG 的系统需求
- 光纤接头截面工艺分类
- 网站访问流程及原理分析
- JAVA将日期类型(xx年xx月xx日)转化 成字符串变量
- linux服务器端 postfix+php邮件发送+发件人代发修改配置
- Vulkan学习(十五): 总结
- Python爬虫实战:爬取维基百科
- 洛谷 P3258 松鼠的新家 题解
- 数据库访问函数FIND_IN_SET介绍
- 专题05-python操作微信(wxpy)
热门文章
- 打鸭子java代码_【Java JDK和VirtuaNES(FC模拟器)哪个好用】Java JDK和VirtuaNES(FC模拟器)对比-ZOL下载...
- laravel安装-中文语言包
- 第一章_Android入门
- 智能客服 | 浅谈人工智能聊天机器人ChatGPT
- 向量点乘叉乘等理解和应用
- 学IT最重要的东西是什么?
- 我读故我在:《文凭社会》读后感
- 涨知识!住建局如何利用“千里眼”实现对建筑工地的远程监管?
- 零、爬虫基础(通用爬虫)
- 故障:部署 Exchange SU 后不能登录到 OWA 或 ECP