Docker概述

Docker 是什么

image-20210826100815398

  • Docker 使用 Google 公司推出的 Go 语言进行开发实现,基于 Linux 内核的 cgroup,namespace,以及 AUFS 类的 Union FS 等技术
  • 容器是完全沙箱机制,容器开销极低
  • 对进程进行封装隔离,属于操作系统层面的虚拟化技术。由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器
  • Docker 可以让开发者打包应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化
  • Docker 作为一个软件集装箱化平台,可以让开发者构建应用程序时,将它与其依赖环境一起打包到一个容器中
  • 然后很容易地发布和应用到任意平台中
  • Docker 是提供应用打包,部署与运行的容器化平台

Docker 解决什么问题

  • 解决了运行环境和配置问题,方便做 持续集成,有助于整体发布

Docker 与传统虚拟机

传统虚拟机

  • 传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程

image-20210826101158333

Docker

  • 而容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟
  • 因此容器要比传统虚拟机更为轻便

image-20210826101943816

Docker 的优势

  • 更高效的利用系统资源
  • 更快速的启动时间
  • —致的运行环境
  • 持续交付和部署
  • 更轻松的迁移
  • 更轻松的维护和扩展

与传统虚拟机对比

🐤启动:

  • Docker:秒级
  • 虚拟机:分钟级

🐱‍👤硬盘使用:

  • Docker:MB
  • 虚拟机:GB

🧎‍♀️性能:

  • Docker:接近原生
  • 虚拟机:较弱

🐱‍🏍系统支持量:

  • Docker:单机支持上千个容器
  • 虚拟机:一般就几十个

Docker 模式与体系结构

  • Docker 使用客户端-服务器(C/S)架构模式,使用远程 API 来管理和创建 Docker 容器

image-20210826105231770

image-20210826105302374

整体架构

image-20210826105511963

posted @ 2021-08-26 10:22  BNTang  阅读(123)  评论(0编辑  收藏  举报