3-docker 架构和底层技术简介

Docker Platform

Docker 是一个平台。

  • 提供了一个开发、打包、运行app的平台
  • app和底层 infrastructure 隔离开来

根据上图我们可以看出 Docker Engine 把上层的 app 应用程序和底层的物理设备或虚拟设备进行了隔离,然后我们在 docker 之上做操作。

Docker Engine

Docker 是一个 CS 架构

  • 后台进程(dockerd)
    用于维护我们常见的操作,比如说 image container net 管理。
  • REST API Server
    连接clientserver
  • CLI接口(docker)
    操作者使用的client端

总体架构

  1. Client

    这部分就是我们通常在命令行内所打的命令,如:

    docker pull gitlab
    
  2. 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 架构和底层技术简介相关推荐

  1. Docker底层技术

    架构师之巅 1 容器 & Docker & 虚拟机 Container(容器)是一种轻量级的虚拟化技术,它不需要模拟硬件创建虚拟机.在Linux系统里面,使用到Linux kernel ...

  2. 容器化技术最佳实践1--容器化技术简介与Docker入门

    容器化技术最佳实践1–容器化技术简介与Docker入门 文章目录 容器化技术最佳实践1--容器化技术简介与Docker入门 容器化简介 通过虚拟化了解容器化 对开发和运维的好处 容器化部署特点 什么情 ...

  3. Docker 底层技术推导

    文章目录 1. 写在最前面 2. 什么推动了docker 出现 2.1 出现原因 2.2 优势总结 3. 大胆猜测一下实现 3.1 对比 Virtual Machine 3.2 实现 docker 需 ...

  4. 你应当了解的Docker底层技术

    本文已获得原作者__七把刀__授权. Docker 容器技术已经发展了好些年,在很多项目都有应用,线上运行也很稳定.整理了部分 Docker 的学习笔记以及新版本特性,对Docker感兴趣的同学可以看 ...

  5. 实现容器的底层技术 - 每天5分钟玩转 Docker 容器技术(30)

    2019独角兽企业重金招聘Python工程师标准>>> 为了更好地理解容器的特性,本节我们将讨论容器的底层实现技术. cgroup 和 namespace 是最重要的两种技术.cgr ...

  6. linux设备驱动程序架构的研究,Linux设备驱动程序学习(12)-Linux设备模型(底层原理简介)...

    Linux设备驱动程序学习(12) -Linux设备模型(底层原理简介) 以<LDD3>的说法:Linux设备模型这部分内容可以认为是高级教材,对于多数程序作者来说是不必要的.但是我个人认 ...

  7. 代码开源!阿里妈妈展示广告Match底层技术架构最新进展

    作者:卓立.日涉.谨持 一.背景 大规模信息检索一直是搜推广领域的核心问题之一,而基于任意复杂模型的检索方案无疑是业界重要的迭代方向之一.近年来,阿里妈妈展示广告Match团队与预测引擎团队专注于从算 ...

  8. 深入浅出学习透析Nginx服务器的架构分析及原理分析「底层技术原理+运作架构机制」

    Nginx再次回顾 也许你已经忘记了Nginx是做什么的?我来再次给你夯实一下概念. 多协议反向代理 Nginx是个高性能的Web和反向代理服务器及HTTP服务器,它能反向代理HTTP,HTTPS和邮 ...

  9. 3、《每天5分钟玩转Docker容器技术》学习-Docker架构

    ------------------------------------重要说明------------------------------------ 本文内容都是参考Cloudman系列进行学习, ...

最新文章

  1. 2016 实习招聘面试经历 - 2
  2. 基于Springboot实现的固废物管理系统
  3. 编写程序判断一个 vector<int> 容器所包含的元素是否9.20: 与一个 list<int> 容器的完全相同。
  4. AngularJS XMLHttpRequest
  5. ACM常用数列(斐波那契数列、卡特兰数、贝尔数、斯特灵数)
  6. 滴滴、小米启动造车,特斯拉的护城河还能守多久?
  7. android 移除泛型中元素_最新(2020)Android高级面试知识点干货分享(二)
  8. es6语法图片切换demo
  9. C#中的线程lt;一gt;
  10. linux图形界面漏洞,ManageEngine DesktopCentral任意文件上传漏洞(CVE-2014-5007)
  11. 笔记———No.1 使用matlab画圆
  12. 微信人脸SDK集成踩坑
  13. 初学JAVA项目(四、魔域:文字RPG游戏)
  14. Gradle学习之Android-DSL AppExtension篇
  15. WIN10:今天开机突然遇到在打拼音的时候,输入框不见了,已下是本人的解决办法
  16. 【Android】性能测试之获取Android流量数据
  17. 压缩包文件的解压密码如何解除
  18. shel脚本-更新hosts
  19. Matlab中cov函数
  20. 亚马逊也能无货源开店?这里告诉你答案

热门文章

  1. linux中ssh启动报错,Linux(Ubuntu18)中启动ssh时的报错
  2. linux上点时间延时,Linux上时间和定时器
  3. C语言 __FILE__ - C语言零基础入门教程
  4. c语言偶数分解成两个素数,如何用C语言验证2000以内的哥德巴赫猜想,对于任何大于4的偶数均可以分解为两个素数之和....
  5. php react-native,React-Native+Mobx实现商城APP
  6. 快钱接口php,快钱支付接口
  7. git push origin master是什么意思_git 设置远端仓库
  8. java 代理ip工具类_Java基础之java处理ip的工具类
  9. oracle 查询结果升序,Oracle学习日志-8(查询结果排序)
  10. php prepare 批量,PreparedStatement批处理