首页 > 作文

Docker基本概念和底层原理解析

更新时间:2023-04-06 02:57:18 阅读: 评论:0

docker架构图:

我们依照docker架构图进行docker基础概念的说明。

1、docker的底层原理

docker是一个client-rver结构的系统,docker守护进程运行在主机上,然后通过socket连接从客户端访问,守护进程从客户端接受命令并管理运行在主机上的容器。容器是一个运行时环境,就好比是我们前面说到的集装箱。

例如架构图中的客户端(client)和服务端(docker_host):

发送命令docker run hello-world

docker客户端转发命令给宿主机上的doc小屁孩日记ker守护进程(docker daemon),docker守护进程接收执行命令,返回命令执行结果,docker服务端(守护进程)负责管理宿主机上的各个容器。

如下图所示:

docker客户端和守护进程通过socket连接,可以远程或本地连接。

socket说明:

网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。建立网络通信连接至少要一对端口号(socket)。socket是应用层与tcp/ip协议族通信的中间软件抽象层,它是用来组织数据的一组接口。

2、docker中常用的基本概念

镜像(image):docker镜像类似于虚拟机的镜像,就好比是一个模板,一个面向docker引擎的只读模板,包含了文件系统,可以通过这个模板来创建容器服务。

例如:一个镜像可以完全包含了ubuntu操作系统环境,可以把它称作一个ubuntu镜像。镜像也可以安装了apache应用程序(或其他软件),可以把它称为一个apache镜像。通过这个镜像可以创建多个容器(最终服务的运行或者项目的运行就是在容器中)。
镜像是创建docker容器的基础,通过版本管理和增量的文件系统,docker提供了一套十分简单的机制来创建和更新现有的镜像。用户可以从网上下载一个已经做好的应用镜像,并通过命令直接使用。总之,应用运行是需要环境的,而镜像就是来提供这种环境。
(不同的类可以创建不同的对象,同一个类也可以创建多个相同类型的对象)
(不同的镜像可以创建不同的容器,同一个镜像也可以创建多个相同类型的容器)

容器(container):docker利用容器技术,独立运行一个或者一组应用,通过镜像来创建的。

docker容器类似于一个轻量级的沙箱子(因为docker总指挥是基于linux内核的虚拟技术,所以消耗资源十分少),d关于运动会的文章ocker利用容器来运行和隔离应用。
容器是从镜像创建运行实例,可以将其启动、开始、停止、删除,而这些容器都是相互隔离、互不可见的。
镜像自身是只读的,容器从镜像启动的时候,docker会在镜像的最上层创建一个可写层,镜像本身将保持不变。
(目前就可以把这容器解为辞职英语就是一个简易的linuх系统)

仓库(repository):仓库就是存放镜像的地方。

docker仓库类似与代码仓库,就是docker集中存放镜像文件的场所。
根据存储的镜像公开与否,docker仓库分为公开仓库(public)和私有仓库(private)两种形式。
目前最大的公开仓库是docker hub(docker官方镜像仓库),存放了数量庞大的镜像供用户下载。国内的公开仓库包括阿里云,网易云等镜像仓库,可以提供稳定的国内访问(镜像加速)。
docker也支持用户在本地网络内创建一个只能自己访问的私有仓库。
当用户创建了自己的镜像之后,就可以使用push命令,将它上传到指定的公有或则私有仓库。这样用户下次在另一台机器上使用该镜像时,只需将该镜像从仓库pull(拉取)下来就可以了。

镜像和容器的关系:

3、run命令的运行流程

我们以之前运行hello-world镜像为例进行说明。

执行docker run hello-world命令,运行结果如下:

提示:输出这段提示以后,hello-world镜像就会停止运行,容器自动终止。

run命令的执行的流程图:

4、为什么docker比vm快

(1)docker有着比虚拟机更少的抽象层。

由于docker不需要hypervisor实现硬件资源虚拟化(就相当于使用vmware创建一个虚拟机的操作),运行在docker容器上的程序,直接使用的都是实际物理机的硬件资源。因此在cpu、内存利用率上,docker将会在效率上有明显优势。

(2)docker利用的是宿主机的内核,而不需要guest os。

因此当新建一个容器时,docker不需要和虚拟机一样重新加载一个操作系统内核。从而避免引寻、加载操作系统内核等,这些比较费时费资源的操作过程。
当新建一个虚人人都恨克里斯第一季拟机时,虚拟机软件需要加载guest os,这个新建过程是分钟级别的。而docker由于直接利用宿主机的操作系统,则省略了这个过程,因此新建一个docker容器只需要几秒钟。

如下图所示:

docker与vm对比表:

到此这篇关于docker中的基本概念和底层原理的文章就介绍到这了,更多相关docker概念底层原理内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!

本文发布于:2023-04-06 02:57:16,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/4277fb268db093bd1c1add9588afceea.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:Docker基本概念和底层原理解析.doc

本文 PDF 下载地址:Docker基本概念和底层原理解析.pdf

标签:镜像   容器   仓库   命令
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图