Docker原理学习(1) Docker架构
lxc的内存、网络、磁盘的监控管理(一)
Docker的graphdriver
Docker的网络配置 6 docker-proxy
1. 引言
本文主要按照以下三个部分进行:
·Docker的总架构图。
·Docker架构内部各模块功能与实现的分析。
·通过具体的Docker命令,阐述Docker的运行流程。
2.Docker总架构图
Docker对用户而言是一个简单的C/S架构,用户通过客户端与服务器端建立通信,而Docker的后端是一个松耦合的架构,架构中的模块各司其职、有机组合,支撑着Docker运行。
架构中主要的模块有:DockerClient、DockerDaemon、Docker Registry、Graph、Driver、libcontainer以及Docker Container。
对用户而言,Docker Client是与Docker Daemon建立通信的最佳途径。用户通过Docker Client发起容器的管理请求,请求最终发往Docker Daemon。
Docker Daemon作为Docker架构中的主体部分,首先具备服务端的功能,有能力接收Docker Client发起的请求;其次具备Docker Client请求的处理能力。Docker Daemon内部所有的任务均由Engine来完成,且每一项工作都以一个Job的形式存在。
Docker Daemon需要完成的任务很多,因此Job的种类也很多。若用户需要下载容器镜像,Docker Daemon则会创建一个名为“pull”的Job,运行时从Docker Registry中下载镜像,并通过镜像管理驱动graphdriver将下载的镜像存储在graph中;若用户需要为Docker容器创建网络环境,Docker Daemon则会创建一个名“allocate_interface”的Job,通过网络驱动networkdriver分配网络接口的资源……
libcontainer是一套独立的容器管理解决方案,这套解决方案涉及了大量Linux内核方面的特性,如:namespaces、cgroups以及capabilities等。libcontainer很好地抽象了Linux的内核特性,并提供完整、明确的接口给Docker Daemon。
当用户执行运行容器这个命令之后,一个Docker容器就处于运行状态,该容器拥有隔离的运行环境、独立的网络栈资源以及受限的资源等。
Docker原理学习(1) Docker架构相关推荐
- 《深入浅出Docker》学习笔记
<深入浅出Docker>学习笔记 第三章:docker 安装 linux服务器安装:-略 windows服务器安装:-略 确认安装结果 docker --version 第四章:纵观DOc ...
- Android架构——ViewModel原理学习总结
本文是楼主学习ViewModel 源码的一些总结,感觉ViewModel的源码是Android 三大架构中 最容易理解的一个了.本文ViewModel基于版本androidx.lifecycle:li ...
- Docker入门级学习简记
Docker入门级学习简记 Docker简记 Docker是用来安装应用的容器,是开源,支持跨平台的 Docker思想:集装箱,标准化(运输方式,存储方式,API接口),隔离 Docker解决的问题: ...
- Docker镜像原理学习理解
Docker镜像原理学习理解 一.Docker镜像的组成 1.Docker镜像图层 2.union file system 3.镜像层-bootfs 4.镜像层-rootfs 5.镜像层-依赖环境 6 ...
- docker tag 删除images_深入浅出 Docker (二) —— Docker的基本概念和架构原理
1. Docker 的基本概念 Docker 有三个基本概念: 镜像(Image) 容器(Container) 仓库(Repository) 1.1 镜像(Image) 操作系统分为内核和用户空间.对 ...
- Docker 原理、学习教程
From:https://blog.csdn.net/dataiyangu/article/details/82260586 Docker 常用命令总结:https://blog.csdn.net/i ...
- Docker学习笔记--1.Docker原理、容器
Docker的安装 Docker的基本构成 Docker架构图 镜像(image): 1 Docker 镜像(Image)就是一个只读的模板.镜像可以用来创建 Docker 容器,一个镜像可以创建很 ...
- Docker原理之架构篇 --- 总体架构
架构 Docker是典型的C/S架构,主要由docker-client和docker-daemon组成.docker-daemon的架构在不断演进中,将不同功能抽离成独立的模块,降低docker-da ...
- 一篇不一样的docker原理解析
0 引言 在学习docker的过程中,我发现目前docker学习最大的障碍,不是网上的资源太少,而是网上的资源太多,资源太多带来的噪声让学习效率降低不少.而在讲解docker原理上,所有的讲解都是关于 ...
最新文章
- 图像超分辨率算法:CVPR2020
- Golang中Buffer高效拼接字符串以及自定义线程安全Buffer
- JAVA学习资源网站
- Makefile的伪目标
- Java 必看的 Spring 知识汇总!
- 字符识别(模板匹配BP神经网络训练)
- Qt中查看ui_xxx.h文件方法
- 基于.NetCore3.1搭建项目系列 —— 认证授权方案之Swagger加锁
- linux添加删除回环地址,CentOS7如何添加本地回环地址?CentOS7添加本地回环地址的方法...
- Excel 如何让复制的内容保持原文本格式
- hive数据的导入导出方式
- Julia: Flux.jl尝试
- Android Palette吸色原理及源码解析
- 苹果设备解锁工具:iToolab UnlockGo for Mac
- 滴滴技术专家任玉刚:让你的职业迷茫从哪来回哪去
- ORA-01033错误解决方法
- 锁子甲 bulid+sim
- HBase 分布式集群搭建手记
- 数说故事车企数字化渠道管理创新方法——精准进行消费者洞察
- 电脑连接蓝牙耳机声音总是断断续续: