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

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

Docker Platform

Docker 是一个平台。

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

3-docker 架构和底层技术简介_第1张图片

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

Docker Engine

Docker 是一个 CS 架构

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

3-docker 架构和底层技术简介_第2张图片

总体架构

3-docker 架构和底层技术简介_第3张图片

  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 自带的技术。

你可能感兴趣的:(docker,docker,入门到精通)