1、Docker是什么

  • Docker一把瑞士军刀,让Devops真正落地于实践。
  • Docker是一个开源的应用容器引擎。
  • 诞生于2013年初,基于Go语言实现。
  • Docker可以让开发者打包他们的应用以及依赖包到一个轻量级,可移植的容器中,然后发布到任何流行的Linux机器上。
  • 容器是完全适应沙箱机制,相互隔离。
  • 容器性能开销极低
  • Docker从17.03版本之后分为CE(Community Edition:社区版)和EE(Enterprise Edition:企业版)
  • 一种操作系统级的虚拟化技术,依赖于Linux内核特性:Namespace(资源隔离)和Cgroups(资源限制)
  • 一个简单的应用程序打包工具

2、Docker设计目标

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

3、Docker基本组成

Docker Client:客户端
Docker Daemon:守护进程
Docker Images:镜像
Docker Container:容器
Docker Registry:镜像仓库

4、容器与虚拟机对比

               Container                                    VM
启动速度        秒级                                        分钟级
运行性能        接近原生                                    5%左右损失
磁盘占用        MB                                         GB
数量            成百上千                                    一般几十台
隔离性          进程级别                                    系统级(更彻底)
操作系统        只支持Linux                                几乎所有
封装程度        只打包项目代码和依赖关系,共享宿主机内核      完整的操作系统

5、Docker应用场景

  • 应用程序打包和发布
  • 应用程序隔离
  • 持续集成
  • 部署微服务
  • 快速搭建测试环境
  • 提供Paas产品(平台即服务)
文档更新时间: 2021-03-17 18:55   作者:xtyang