Docker的介绍

前言

Docker是一个用于开发、发布和运行应用程序的开放平台。Docker使你能够将你的应用程序从你的基础设施中分离出来,这样你就可以快速地交付软件。使用Docker,你可以像管理应用一样管理你的基础设施。通过利用Docker快速发布、测试和部署代码的方法,您可以显著减少编写代码和在生产环境中运行代码之间的延迟。

Docker的架构

Docker采用client-server架构。Docker客户端与Docker守护进程对话,守护进程承担构建、运行和分发Docker容器的繁重工作。Docker客户端和守护进程可以运行在同一个系统上,或者你可以连接一个Docker客户端到一个远程Docker守护进程。Docker客户端和守护进程通过UNIX套接字或网络接口使用REST API进行通信。另一个Docker客户端是Docker Compose,它允许你使用由一组容器组成的应用程序。
在这里插入图片描述

Docker守护进程(Docker daemon)

Docker守护进程(dockerd)监听Docker API请求,并管理Docker对象,如imagescontainersnetworksvolumes。守护进程也可以与其他守护进程通信来管理Docker服务。

Docker客户端(Docker client)

Docker客户端(Docker)是许多Docker用户与Docker交互的主要方式。当你使用像docker run这样的命令时,客户端将这些命令发送给dockerd,由dockerd执行它们。docker命令使用docker API。Docker客户端可以与多个守护进程通信。

Docker注册表(Docker registries)

Docker注册表存储Docker镜像。Docker Hub是一个任何人都可以使用的公共注册中心,默认情况下,Docker被配置为在Docker Hub上查找镜像。您甚至可以运行自己的私有注册表。
当你使用docker pulldocker run命令时,所需的镜像会从你配置的注册表中提取出来。当你使用docker push命令时,你的镜像会被推送到你配置的注册表中。

Docker对象(Docker objects)

当你使用Docker时,你是在创建和使用imagescontainersnetworksvolumesplugins和其他对象。这里介绍两个比较常用且重要的对象。

镜像(images)

镜像是一个只读的模板,带有创建Docker容器的指令。通常,一个镜像基于另一个镜像,并带有一些额外的定制。例如,您可以构建一个基于ubuntu镜像的镜像,但要安装Apache web服务器和您的应用程序,以及运行应用程序所需的配置细节。

您可以创建自己的镜像,也可以只使用他人创建并在注册表中发布的镜像。要构建自己的镜像,您需要创建一个Dockerfile,其中包含一个简单的语法,用于定义创建和运行镜像所需的步骤。Dockerfile中的每条指令都在图像中创建一个层。当你改变Dockerfile并重建镜像时,只有那些已经改变的层才会被重建。与其他虚拟化技术相比,镜像之所以如此轻巧、小巧和快速,部分原因就在于此。

容器(containers)

容器是镜像的一个可运行实例。你可以使用Docker API或CLI创建、启动、停止、移动或删除容器。您可以将容器连接到一个或多个网络,为其附加存储,甚至根据其当前状态创建一个新镜像。

默认情况下,容器与其他容器及其主机相对隔离。您可以控制容器的网络、存储或其他底层子系统与其他容器或主机之间的隔离程度。

容器由其镜像以及在创建或启动时提供给它的任何配置选项定义。当容器被移除时,没有存储在持久存储中的任何对其状态的更改都将消失。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ayiya_Oese

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值