Docker常用命令原理图.docx
- 文档编号:7289463
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:11
- 大小:1.12MB
Docker常用命令原理图.docx
《Docker常用命令原理图.docx》由会员分享,可在线阅读,更多相关《Docker常用命令原理图.docx(11页珍藏版)》请在冰豆网上搜索。
Docker常用命令原理图
Docker常用命令原理图
docker常用命令原理图概览:
(一)imagelayer(镜像层)
镜像可以看成是由多个镜像层叠加起来的一个文件系统,镜像层也可以简单理解为一个基本的镜像,而每个镜像层之间通过指针的形式进行叠加。
根据上图,镜像层的主要组成部分包括镜像层id,镜像层指针【指向父层】,元数据【layermetadata】包含了docker构建和运行的信息还有父层的层次信息。
只读层和读写层【toplayer】的组成部分基本一致。
同时读写层可以转换成只读层【dockercommit操作实现】
(二)image(镜像)---【只读层的集合】
1、镜像是一堆只读层的统一视角,除了最底层没有指向外,每一层都指向它的父层,统一文件系统(unionfilesystem)技术能够将不同的层整合成一个文件系统,为这些层提供了一个统一的视角,这样就隐藏了多层的存在,在用户的角度看来,只存在一个文件系统。
而每一层都是不可写的,就是只读层。
(三)container(容器)---【一层读写层+多层只读层】
1、容器和镜像的区别在于容器的最上面一层是读写层【toplayer】,而这边并没有区分容器是否在运行。
运行状态的容器【runningcontainer】即一个可读写的文件系统【静态容器】+隔离的进程空间和其中的进程。
隔离的进程空间中的进程可以对该读写层进行增删改,其运行状态容器的进程操作都作用在该读写层上。
每个容器只能有一个进程隔离空间。
(四)docker常用命令说明
1、标识说明
1)image---(统一只读文件系统)
2)静态容器【未运行的容器】---(统一可读写文件系统)
3)动态容器【runningcontainer】---(进程空间(包括进程)+统一可读写文件系统)
2、命令说明
a)docker生命周期相关命令:
1)dockercreate
即为只读文件系统添加一层可读写层【toplayer】,生成可读写文件系统,该命令状态下容器为静态容器,并没有运行。
2)dockerstart(restart)
即为可读写文件系统添加一个进程空间【包括进程】,生成动态容器【runningcontainer】
3)dockerrun
dockerrun=dockercreate+dockerstart
类似流程如下:
4)dockerstop
向运行的容器中发一个SIGTERM的信号,然后停止所有的进程。
即为dockerstart的逆过程。
5)dockerkill
dockerkill向容器发送不友好的SIGKILL的信号,相当于快速强制关闭容器,与dockerstop的区别在于dockerstop是正常关闭,先发SIGTERM信号,清理进程,再发SIGKILL信号退出。
6)dockerpause
暂停容器中的所有进程,使用cgroup的freezer顺序暂停容器里的所有进程,dockerunpause为逆过程即恢复所有进程。
比较少使用。
7)dockercommit
把容器的可读写层转化成只读层,即从容器状态【可读写文件系统】变为镜像状态【只读文件系统】,可理解为【固化】。
8)dockerbuild
dockerbuild=dockerrun【运行容器】+【进程修改数据】+dockercommit【固化数据】,不断循环直至生成所需镜像。
循环一次便会形成新的层(镜像)【原镜像层+已固化的可读写层】
dockerbuild一般作用在dockerfile文件上。
b)docker查询类命令:
【查询对象:
①image,②container,③image/container中的数据,④系统信息[容器数,镜像数及其他]】
1.1)dockerimages
dockerimages列出当前镜像【以顶层镜像id来表示整个完整镜像】,每个顶层镜像下面隐藏多个镜像层。
1.2)dockerimages-a
dockerimages-a列出所有镜像层【排序以每个顶层镜像id为首后接该镜像下的所有镜像层】,依次列出每个镜像的所有镜像层。
1.3)dockerhistory
dockerhistory列出该镜像id下的所有历史镜像。
2.1)dockerps
列出所有运行的容器【runningcontainer】
2.2)dockerps-a
列出所有容器,包括静态容器【未运行的容器】和动态容器【runningcontainer】
3.1)dockerinspect
提取出容器或镜像最顶层的元数据。
3.2)dockerinfo
显示Docker系统信息,包括镜像和容器数。
c)docker操作类命令:
1)dockerrm
dockerrm会移除镜像,该命令只能对静态容器【非运行状态】进行操作。
通过dockerrm-f
2)dockerrmi
3)dockerexec
dockerexec会在运行状态的容器中执行一个新的进程。
4)dockerexport
dockerexport命令创建一个tar文件,并且移除了元数据和不必要的层,将多个层整合成了一个层,只保存了当前统一视角看到的内容。
参考文章:
http:
//merrigrove.blogspot.jp/2015/10/visualizing-docker-containers-and-images.html (需翻墙查阅)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Docker 常用命令 原理图