1.Docker简介[官网]
Docker 是 Docker.Inc 公司开源的一个基于 LXC技术之上构建的Container容器引擎, 源代码托管在 GitHub 上, 基于Go语言并遵从Apache2.0协议开源。
Docker是通过内核虚拟化技术(namespaces及cgroups等)来提供容器的资源隔离与安全保障等。由于Docker通过操作系统层的虚拟化实现隔离,所以Docker容器在运行时,不需要类似虚拟机(VM)额外的操作系统开销,提高资源利用率。
Docker是使用Go语言写的一个基于LXC技术的开源产品
2.Docker的三大理念
构建:在开发、测试、运维中基于整个环境的构建
运输:可以把构建好的镜像放在任何地方
运行:灵活组装,整体交付
◎ Docker适用环境:频繁变更的业务和产品线
3.Docker组成部分
3.1 Docker架构
基于C/S架构:Docker Client 和 Docker Server
Docker总架构图(详解点我!)
3.2 Docker三大组件:镜像(Image)、容器(Container)、仓库(Repository)
镜像(Image)
容器(Container)
仓库(Repository)
4.Docker和虚拟机的区别
Docker与虚拟机技术差异
Docker与虚拟机差异对照(赵班长整理)
注意
5.Docker的作用
简化配置:把运行环境和代码直接一起放在容器里,简化配置、降低环境的依赖性
代码流水线管理:使用Docker将开发、测试、生产流水线管理,保持一致性
提高开发效率:直接拉镜像运行,无需重复配置复杂的开发环境
应用隔离:一般般,没虚拟机好
整合服务器:一台机器启多个容器,降低成本,提高资源利用率,与虚拟机类似
调试能力:没啥优势
多租户模式:同上
快速部署:比虚拟机快
6.Docker生产应用总结
面向产品:产品交付
面向开发:简化环境配置
面向测试:多版本测试
面向运维:环境一致性
面向架构:自动化扩容(微服务)