【云计算】Docker镜像与容器区别与介绍
小标 2018-12-05 来源 : 阅读 1265 评论 0

摘要:本文主要向大家介绍了【云计算】Docker镜像与容器区别与介绍,通过具体的内容向大家展现,希望对大家学习云计算有所帮助。

本文主要向大家介绍了【云计算】Docker镜像与容器区别与介绍,通过具体的内容向大家展现,希望对大家学习云计算有所帮助。

一、Docker镜像


要理解Docker镜像和Docker容器之间的区别,确实不容易。


假设Linux内核是第0层,那么无论怎么运行Docker,他都是运行于内核层之上的。这个Docker镜像,是一个只读的镜像,位于第一层,他不能被修改或不能保存状态。


一个Docker镜像可以构建于另一个Docker镜像之上,这种层叠关系可以使多层的。第一层的镜像我们称之为基础镜像(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 imagesname


他会在所有的镜像层上增加一个可写层。这个可写层有运行在CPU上的进程,而且有两个不同的状态:运行态(Running)和退出态(Exited)。这就是Docker容器。当我们使用docker run启动容器,Docker容器就进入运行态,当我们停止Docker容器时,他就进入了退出态。


当我们有一个正在运行的Docker容器时,从运行态到停止态,我们对他所做的一切变更都会永久的写到容器的文件系统中。要切记,对容器的变更是写入到容器的文件系统中,而不是写入到Docker镜像中。


我们可以用同一个镜像启动多个Docker容器,这些容器启动后都是活动的,彼此还是相互隔离的。我们对其中一个容器所做的变更只会局限于那个容器本身。


如果对容器的底层镜像进行修改,那么当前正在运行的容器是不受影响的,不会发生自动更新现象。


如果想更新容器到其镜像的新版本,那么必须当心,确保我们是以正确的方式构建了数据结构,否则我们可能会导致损失容器中所有数据的后果。


64字符的十六进制的字符串来定义容器ID,它是容器的唯一标识符。容器之间的交互是依靠容器ID识别的,由于容器ID的字符太长,我们通常只需键入容器ID的前4个字符即可。当然,我们还可以使用容器名,但显然用4字符的容器ID更为简便。



          

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标大数据云计算大数据安全频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved