Kumu's wiki
  • SUMMARY
  • Docker
    • 理论概述
    • 安装入门
    • 配置说明
    • 基础命令
    • 镜像构建
    • 镜像存储
      • OverlayFS 存储驱动
      • Habor 安装和升级标注
    • Compose
      • Compose 概览
      • Compose 安装
      • Compose 入门
      • Compose 环境变量
      • Compose 服务扩展
      • Compose 网络
      • Compose 生产实践
      • Compose 启动顺序控制
  • Kubernetes
    • 架构概览
    • 基础术语
    • 集群构建
    • 工作负载
      • Deployments
      • StatefulSets
      • Volumes
      • Persistent Volumes
    • 集群调度
      • 亲和性和反亲和性
      • 污点和容忍机制
    • 集群组件
      • Kubelet
    • 网络方案
      • 网络策略
      • Calico BGP 网络(v2.6.x)
      • Kubelet CNI 源码解析
    • client-go
      • client-go 背后机制
    • Helm
      • Helm 架构
      • Helm 快速上手
      • Helm 使用
      • Helm 命令
    • Google 大规模集群管理器 Borg
由 GitBook 提供支持
在本页
  • Docker 名词介绍
  • Docker 镜像
  • Docker 容器
  • Docker Registry
  • 拓展
  • Docker 原理

这有帮助吗?

  1. Docker

理论概述

上一页SUMMARY下一页安装入门

最后更新于5年前

这有帮助吗?

可能现在称 Docker 为 Moby 比较合适,2017 年 4 月 Github 项目已经正式改名为 。至于个中缘由,可以通过 做进一步了解,此处不过多说明,本文继续沿用 Docker。

说起 Docker 不得不提到传统的 VM 虚拟化。传统虚拟机实现资源隔离的方法是利用独立的 OS,并利用 Hypervisor 虚拟化 CPU、内存、IO 设备等。Docker 基于容器技术的轻量级虚拟化,相对于传统的虚拟化技术,省去了 Hypervisor 层的开销,而且其虚拟化技术是基于内核的 Cgroup 和 Namespace 技术,处理逻辑与内核深度融合。

容器本身不是一个新技术,早期的 Linux 容器是基于 LXC 去管理的,而 Docker 让容器变得更易用。对于 Docker,可以认为它是一个开源的容器引擎,可以方便的对容器进行管理,并且通过镜像交付的方式,达到更简单的环境构建,理念就是 “Build, Ship, and Run Any App, Anywhere”。

Docker 名词介绍

Docker 镜像

Docker 镜像是 Docker 容器运行时的只读模板,每一个镜像由一系列的层 (layers) 组成。按照官方说明,镜像是一个轻量级,独立的,可执行的,包括软件运行一切所需,囊括了代码,运行态,lib 库以及环境变量和配置文件的包。通俗的理解,可以理解为一个封装好环境的集装箱。

Docker 容器

容器是通过 Docker 镜像创建的一个运行态的实例,可以针对 Docker 容器执行运行、开始、停止、移动和删除等操作。

Docker Registry

三者之间的关系可以参考下图(摘自《DevOps Kubernetes》):

拓展

Docker 原理

关于 Docker 的原理需要结合 Linux 底层的 Cgroup 和 Namespace 去理解。Docker 通过 Cgroup 实现针对每个容器的资源管理,如 CPU、Memory、IO 等,而通过 Namespace 让每个容器都拥有自己的命名空间,包括 PID、USER、UTS、MNT、NET、IPC 等。

如果需要深入理解相关知识,可以通过以下文章进一步学习:

Registry 用来存放 Docker 镜像,如果把 Docker 镜像比作集装箱的话,那么 Registry 可比喻成装载集装箱的大货轮。Registry 有公有和私有的概念,Docker 官方 Registry 为 ,国内的如阿里云、网易蜂巢、时速云等也均有相关仓库。Docker 镜像仓库起到了一个集中存储和分发 Docker 镜像的作用。

图自

Docker Hub
Visualizing Docker Containers and Images
https://msdnshared.blob.core.windows.net/media/2017/01/Linux-Arch.png
Docker 核心技术与实现原理
Docker基础技术:Linux CGroup
Docker基础技术:Linux Namespace(上)
Docker基础技术:Linux Namespace(下)
docker
moby
对于 Docker 改名 Moby ,大家怎么看?