Docker 镜像和容器的区别详解
最近学习Docker,被Docker 的镜像和容器搞的晕头转向,索性上网查找相关资料并整理下彻底的理解这块内容,有需要的小伙伴可以看下,少走点弯路。
Docker的镜像和容器的区别
一、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更为简便。
相关热词: 详解
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://v30.fanwenzhu.com/server/other/8610.shtml
相关文章
热门TAG
win10 ecshop 主机 阿里云 解决 配置 C# C++ 解析 SQL语句 命令 Go语言 方法 CSS3 HTML5 CSS win7 MSSQL 服务器配置 IIS7.5 IIS7 IIS6 IIS CentOS 7 Linux oracle数据库 oracle phpcms discuz discuz教程最新文章
-
卸载后云锁网站无法会见
时间:2021-01-23
-
处事器安详软件云锁“及
时间:2021-01-23
-
CentOS 7安装Docker处事具体进
时间:2021-01-16
-
下一步: 选第一个
时间:2021-01-16
-
分区方案选择标准分区
时间:2021-01-16
-
VMware给虚拟机安装linux系统
时间:2021-01-16
-
安全软件不仅可以保护I
时间:2021-01-13
-
宝塔防火墙种种利害名单
时间:2021-01-13
热门文章
-
VirtualBox简体中文版下载安装(图解教程)
时间:2020-12-23
-
电商平台为什么要使用独立服务器托管?
时间:2020-12-22
-
基于Kubernetes和Docker实现留言簿案例
时间:2021-01-06
-
在virtualbox中安装CentOS7图文教程
时间:2020-12-22
-
网络安全之PKI技术原理
时间:2020-12-23
-
常见的云安全错误认知以及应对方法!
时间:2020-12-26
-
Docker Base Image自己创建具体实现
时间:2020-12-22
-
Windows系统中安装云锁服务器端的图文教程
时间:2020-12-25
-
VMware给虚拟机安装linux系统
时间:2021-01-16
-
云服务器/VPS/云主机/服务器修改登陆密码
时间:2020-12-22
