Docker—Docker基本概念以及执行流程

什么是Docker

Docker 是一个开源的应用容器引擎,基于 Go 语言 开发。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

Docker 使您能够将应用程序与基础架构分开,从而可以快速交付软件。

Docker的基本概念

Docker 是提供应用打包,部署和运行应用程序的容器话平台。

  • 容器和虚拟机

Docker容器在Linux本地运行,并与其他容器共享主机的内核。它运行一个离散进程,不占用任何其他可执行文件更多的内存,从而使其更轻巧。(容器不是模拟一个完整的操作系统,而是对进程进行隔离。

相比之下,虚拟机(VM)是完整的操作系统,一些系统级别的操作步骤往往无法跳过。通常,VM会产生大量开销,超出了应用程序逻辑所消耗的开销。

  • Docker引擎

docker引擎是具有以下主要组件的客户端-服务器应用程序:

  • docker服务器是一种长期运行的程序,也称为守护进程( docker daemon)。

  • REST API通讯层,它可以用来与守护程序进行通信并提供操作接口。

  • 命令行界面(CLI)客户端(执行docker命令)。

docker客户端使用 REST API接口或直接使用CLI命令来控制Docker守护程序或与Docker守护程序进行交互。其他Docker应用程序都使用基础API和CLI。

REST API是基于web容器提供服务,因此客户端和服务器的通信是基于HTTP协议的,兼容和扩展性好。

守护程序用于创建和管理Docker 对象,例如镜像获取,容器创建等。

  • 镜像与容器

镜像是文件,是只读的,提供了运行程序完整的软硬件资源,是应用程序的集装箱。

容器是镜像的可运行实例。您可以使用Docker API或CLI创建,启动,停止,移动或删除容器。默认情况下,容器与其他容器及其主机之间的隔离度相对较高。

镜像文件可以看作是容器的模板。Docker 根据 镜像文件生成容器的实例。同一个镜像文件,可以生成多个同时运行的容器实例。(比如说win10系统的安装光盘中的iso文件,就可以看做是一个镜像,而我们的pc机或笔记本电脑就可以看做是容器,每一个PC机安装了操作系统以后,就可以看作是win10的一个运行实例)

  • Docker执行流程

Docker使用客户端-服务器架构。Docker 客户端与Docker 守护进程进行对话,该守护进程完成了构建,运行和分发Docker容器的繁重工作。Docker客户端和守护程序可以 在同一系统上运行,也可以将Docker客户端连接到远程Docker守护程序。Docker客户端和守护程序在网络接口上使用REST API进行通信。

Docker守护程序(Docker daemon)

Docker守护程序侦听Docker API请求并管理Docker对象,例如图像,容器,网络和卷。守护程序还可以与其他守护程序通信以管理Docker服务。

Docker客户端(Client)

Docker客户端是Docker用户与Docker交互的主要方式。当您使用诸如docker run之类的命令时,客户端会将这些命令发送到Docker daemon,以执行这些命令。Docker客户端可以与多个守护程序通信。

Docker注册中心(Registry)

Docker 注册中心存储Docker镜像。Docker Hub是任何人都可以使用的公共注册中心(远程/中央仓库),并且Docker默认配置为在Docker Hub上查找映像。

使用docker pulldocker run命令时,所需的镜像将从配置的中央仓库中提取。使用docker push命令时,会将镜像推送到配置的注册中心。

当客户端执行docker pull命令时,客户端通过通讯层将命令发送给守护程序,守护程序首先检测本地的images中是否存在该镜像,如果不存在,就会从配置的远程仓库中拉取镜像到本地。

此时客户端执行docker run命令,守护程序就会创建容器,启动应用

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值