测试技能提拔篇——Docker的核心概念

分享
手机软件开发 2024-9-29 10:55:54 16 0 来自 中国
1.png Docker已经不是什么新技能了,信赖绝大多数同砚在现实工作中都会对其有肯定的相识,利用一些常用的下令行实行一些操控容器的基础操作,这方便的网络资源实现太多了,在这里就不举行相干讲授了。本文重点先容一下涉及Docker的相干概念以及其核心组件的作用,信赖会资助想要深入研究Docker的同砚有很大的资助!
Docker

是一个开源的应用容器引擎,让开辟者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何盛行的Linux或Windows操作系统的呆板上,也可以实现假造化,容器是完全利用沙箱机制,相互之间不会有任何接口。
Docker容器和假造机



2.png 假造机是通过管理系统(Hypervisor)模仿出 CPU、内存、网络等硬件,然后在这些模仿的硬件上创建客户内核和操作系统。如许做的利益就是假造机有自己的内核和操作系统,而且硬件都是通过假造机管理系统模仿出来的,用户步调无法直接利用到主机的操作系统和硬件资源,因此假造机也对隔离性和安全性有着更好的包管。而 Docker 容器则是通过 Linux 内核的 Namespace 技能实现了文件系统、进程、装备以及网络的隔离,然后再通过 Cgroups 对 CPU、 内存等资源举行限定,终极实现了容器之间相互不受影响,Namespace和Cgroups是实现docker的核心技能。
容器与假造机相比最大的长处是:容器的性能斲丧非常小,而且镜像也非常小,而且在业务快速开辟和迭代的本日,容器秒级的启动等特性也非常匹配业务快速迭代的业务场景
镜像

它是一个只读的文件和文件夹组合。它包罗了容器运行时所必要的全部基础文件和设置信息,是容器启动的基础。以是你想启动一个容器,那起首必须要有一个镜像。镜像是 Docker 容器启动的先决条件。我们可以自己创建镜像。也可以从功能镜像堆栈拉取别人制作好的镜像。一些常用的软件大概系统都会有官方已经制作好的镜像,比方nginx、centos、mysql等,我们可以到 Docker Hub(https://hub.docker.com/,也可以利用阿里云等国内镜像)搜索并下载它们。
镜像堆栈

Docker 的镜像堆栈类似于代码堆栈,用来存储和分发 Docker 镜像。
容器

容器是 Docker 的另一个核心概念。容器是镜像的运行实体。镜像是静态的只读文件,而容器带有运行时必要的可写文件层,而且容器中的进程属于运行状态。即容器运行着真正的应用进程。容器有初建、运行、制止、停息和删除五种状态。固然容器的本质是主机上运行的一个进程,但是容器有自己独立的命名空隔断离和资源限定。也就是说,在容器内部,无法看到主机上的进程、情况变量、网络等信息,这是容器与直接运行在主机上的进程的本质区别。
镜像、镜像堆栈和容器的关系



Docker 的组件构成

Docker 团体架构接纳 C/S(客户端 / 服务器)模式,紧张由客户端和服务端两大部分构成。
Docker 客户端

Docker 客户端其实是一种泛称。此中 docker 下令是 Docker 用户与 Docker 服务端交互的紧张方式。除了利用 docker 下令的方式,还可以利用直接哀求 REST API 的方式与 Docker 服务端交互,乃至还可以利用各种语言的 SDK 与 Docker 服务端交互。现在社区维护着 Go、Java、Python、PHP 等数十种语言的 SDK,足以满意你的一样平常需求。
Docker 服务端

Docker 服务端是 Docker 全部背景服务的统称。此中 dockerd 是一个非常紧张的背景管理进程,它负责相应和处置惩罚来自 Docker 客户端的哀求,然后将客户端的哀求转化为 Docker 的详细操作。比方镜像、容器、网络和挂载卷等详细对象的操作和管理
Docker其他组件总结


5.png
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-10-18 20:31, Processed in 0.142790 second(s), 35 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表