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更为简便。
所以容器是基于镜像启动的.
转载自:CSDN 资深架构师
http://blog.csdn.net/chszs/article/details/48252799
分享到:
相关推荐
"一种对Docker容器镜像实现离线增量更新的方法" Docker 容器镜像离线增量更新方法是指在不影响容器运行的情况下,对 Docker 容器镜像进行增量更新的方法。该方法可以提高 Docker 容器镜像的更新效率,减少更新过程...
基础容器镜像,不到10兆,适合部署微服务
Docker 容器与镜像使用指南 Docker 容器是轻量级的运行环境,可以快速部署和管理应用程序。镜像是容器的模板,包含了容器运行所需的环境和依赖项。本文将详细介绍 Docker 容器与镜像的使用方法,包括获取镜像、启动...
该篇文档记录了通过容器提交镜像(docker commit)以及推送镜像(docker push)的操作过程,在此分享,希望能帮助到有用到的朋友!
docker docker _ 容器和镜像的区别
于是,我花了几周的时间来学习Docker的工作原理,更确切地说,是关于Docker统一文件系统(the union file system)的知识,然后回过头来
容器镜像仓库的搭建与运维管理方案.docx
使用IDEA远程管理docker镜像及容器服务.pdf 使用IDEA远程管理docker镜像及容器服务.pdf文档主要介绍了如何使用IDEA编辑器远程管理docker镜像及容器服务。文档首先介绍了docker REST API的概念,并解释了为什么需要...
Heapster是容器集群监控和性能分析工具,支持Kubernetes和CoreOS。 Kubernetes有个监控agent—cAdvisor。在每个kubernetes Node上都会运行cAdvisor,它会收集本机以及容器的监控数据(cpu,memory,filesystem,network...
2.2导入容器镜像 4 2.3运行该镜像(带上command参数) 4 3、生成容器快照镜像 4 四、使用dockerfile制作镜像创建器 4 1、构建Nginx环境镜像 5 1.1 准备文件 5 1.2 创建dockerfile文件 5 1.3构建nginx镜像 5 1.4创建...
alpine ARM版本容器镜像
nginx ARM平台容器镜像
openjdk ARM平台容器镜像
深入Docker的镜像,容器和仓库以及测试下的Docker
container-diff 是一个Docker容器镜像命令行分析工具。 container-diff 可以分析几个不同标准的镜像。
linux的容器镜像
容器分布式镜像仓库实践.docx
【Nydus容器镜像服务】是针对容器镜像领域的一种技术创新,旨在解决现有OCI(Open Container Initiative)镜像在效率、数据冗余和安全方面的问题。传统的OCI镜像在启动容器前需要完整下载并解压到本地文件系统,这...
cadvisor.tar 容器镜像,可以监控容器