3-docker 架构和底层技术简介
3-docker 架构和底层技术简介
Docker Platform
Docker 是一个平台。
- 提供了一个开发、打包、运行
app
的平台 - 把
app
和底层infrastructure
隔离开来
根据上图我们可以看出 Docker Engine 把上层的 app 应用程序和底层的物理设备或虚拟设备进行了隔离,然后我们在 docker 之上做操作。
Docker Engine
Docker 是一个 CS 架构
- 后台进程(dockerd)
用于维护我们常见的操作,比如说image
container
net
管理。 - REST API Server
连接client
和server
- CLI接口(docker)
操作者使用的client端
总体架构
Client
这部分就是我们通常在命令行内所打的命令,如:
docker pull gitlab
DOCKER_HOST
是一台启动了 Docker daemon (dockerd)的机器,当然这个dockerd
可以在本地也可以在远端,也就是说可以远程控制一台装有dockerd
的设备。一般来说 client和dockerd是在同一个机器上的。
那么 DOCKER_HOST 上主要有两个比较重要的概念:
- Containers - 容器/集装箱
- Images - 镜像
Docker 底层技术
我们知道docker 使用的技术并不是比较新的技术,而是很早就已经存在的技术。
- Namespace: 做隔离pid,net,ipc,mnt,uts
- Control groups : 做资源限制
- Union files systems : Container 和 image 的分层
这些都是 linux 自带的技术。
3-docker 架构和底层技术简介相关推荐
- Docker底层技术
架构师之巅 1 容器 & Docker & 虚拟机 Container(容器)是一种轻量级的虚拟化技术,它不需要模拟硬件创建虚拟机.在Linux系统里面,使用到Linux kernel ...
- 容器化技术最佳实践1--容器化技术简介与Docker入门
容器化技术最佳实践1–容器化技术简介与Docker入门 文章目录 容器化技术最佳实践1--容器化技术简介与Docker入门 容器化简介 通过虚拟化了解容器化 对开发和运维的好处 容器化部署特点 什么情 ...
- Docker 底层技术推导
文章目录 1. 写在最前面 2. 什么推动了docker 出现 2.1 出现原因 2.2 优势总结 3. 大胆猜测一下实现 3.1 对比 Virtual Machine 3.2 实现 docker 需 ...
- 你应当了解的Docker底层技术
本文已获得原作者__七把刀__授权. Docker 容器技术已经发展了好些年,在很多项目都有应用,线上运行也很稳定.整理了部分 Docker 的学习笔记以及新版本特性,对Docker感兴趣的同学可以看 ...
- 实现容器的底层技术 - 每天5分钟玩转 Docker 容器技术(30)
2019独角兽企业重金招聘Python工程师标准>>> 为了更好地理解容器的特性,本节我们将讨论容器的底层实现技术. cgroup 和 namespace 是最重要的两种技术.cgr ...
- linux设备驱动程序架构的研究,Linux设备驱动程序学习(12)-Linux设备模型(底层原理简介)...
Linux设备驱动程序学习(12) -Linux设备模型(底层原理简介) 以<LDD3>的说法:Linux设备模型这部分内容可以认为是高级教材,对于多数程序作者来说是不必要的.但是我个人认 ...
- 代码开源!阿里妈妈展示广告Match底层技术架构最新进展
作者:卓立.日涉.谨持 一.背景 大规模信息检索一直是搜推广领域的核心问题之一,而基于任意复杂模型的检索方案无疑是业界重要的迭代方向之一.近年来,阿里妈妈展示广告Match团队与预测引擎团队专注于从算 ...
- 深入浅出学习透析Nginx服务器的架构分析及原理分析「底层技术原理+运作架构机制」
Nginx再次回顾 也许你已经忘记了Nginx是做什么的?我来再次给你夯实一下概念. 多协议反向代理 Nginx是个高性能的Web和反向代理服务器及HTTP服务器,它能反向代理HTTP,HTTPS和邮 ...
- 3、《每天5分钟玩转Docker容器技术》学习-Docker架构
------------------------------------重要说明------------------------------------ 本文内容都是参考Cloudman系列进行学习, ...
最新文章
- 2016 实习招聘面试经历 - 2
- 基于Springboot实现的固废物管理系统
- 编写程序判断一个 vector<int> 容器所包含的元素是否9.20: 与一个 list<int> 容器的完全相同。
- AngularJS XMLHttpRequest
- ACM常用数列(斐波那契数列、卡特兰数、贝尔数、斯特灵数)
- 滴滴、小米启动造车,特斯拉的护城河还能守多久?
- android 移除泛型中元素_最新(2020)Android高级面试知识点干货分享(二)
- es6语法图片切换demo
- C#中的线程lt;一gt;
- linux图形界面漏洞,ManageEngine DesktopCentral任意文件上传漏洞(CVE-2014-5007)
- 笔记———No.1 使用matlab画圆
- 微信人脸SDK集成踩坑
- 初学JAVA项目(四、魔域:文字RPG游戏)
- Gradle学习之Android-DSL AppExtension篇
- WIN10:今天开机突然遇到在打拼音的时候,输入框不见了,已下是本人的解决办法
- 【Android】性能测试之获取Android流量数据
- 压缩包文件的解压密码如何解除
- shel脚本-更新hosts
- Matlab中cov函数
- 亚马逊也能无货源开店?这里告诉你答案
热门文章
- linux中ssh启动报错,Linux(Ubuntu18)中启动ssh时的报错
- linux上点时间延时,Linux上时间和定时器
- C语言 __FILE__ - C语言零基础入门教程
- c语言偶数分解成两个素数,如何用C语言验证2000以内的哥德巴赫猜想,对于任何大于4的偶数均可以分解为两个素数之和....
- php react-native,React-Native+Mobx实现商城APP
- 快钱接口php,快钱支付接口
- git push origin master是什么意思_git 设置远端仓库
- java 代理ip工具类_Java基础之java处理ip的工具类
- oracle 查询结果升序,Oracle学习日志-8(查询结果排序)
- php prepare 批量,PreparedStatement批处理