01 Docker 概述

[TOC]

00X01 Docker是什么

  • Docker 是一个开源的应用容器引擎
  • 一种操作系统级的虚拟化技术
  • 容器是完全使用沙箱机制,相互之间不会有任何接口
  • 依赖于Linux内核特性:Namespace(资源隔离)和Cgroups(资源限制)
  • 开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux 服务器上

00X02 Docker设计目标

  • 提供简单的应用程序打包工具
  • 开发人员和运维人员职责逻辑分离
  • 多环境保持一致性

00X03 Docker基本组成

服务注释
Docker Client客户端
Ddocker Daemon守护进程
Docker Images镜像
Docker Container容器
Docker Registry镜像仓库

00X04 容器vs 虚拟机

说明ContainerVM
启动速度秒级分钟级
运行性能接近原生5%左右损失
磁盘占用MBGB
数量成百上千一般几十台
隔离性进程级别系统级(更彻底)
操作系统只支持Linux乎所有
封装程度只打包项目代码和依赖关系,共享宿主机内核完整的操作系统
  • 优点
  1. 更加轻量简洁高效
  2. 传统虚拟机需要给每个VM安装系统,Docker技术代替安装系统
  3. 容器使用共享公共库和程序
  • 缺点
  1. 容器的隔离性没有虚拟化强
  2. 共用Linux内核,安全性有先天缺陷
  3. SElnux难以控制
  4. 监控容器和容器排错麻烦

00X05 Docker应用场景

  • 应用程序打包和发布
  • 应用程序隔离
  • 持续集成
  • 部署微服务
  • 快速搭建测试环境
  • 提供PaaS产品(平台即服务)

00X06 镜像

  • 在Docker中容器是基于镜像启动的
  • 镜像是启动容器的核心
  • 镜像采用分层设计
  • 使用快照的COW技术,确保底层数据不丢失
Last modification:May 28th, 2020 at 12:49 pm
如果觉得我的文章对你有用,请随意赞赏