001.Docker简介概述
一 简介
Docker最初是dotCloud公司的一个内部项目,诞生于 2013 年初,由google公司开源的Go语言开发。 Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。二 特性
2.1 docker特性
- 标准化
- 保证一致的运行环境
- 弹性伸缩,快速扩容
- 方便迁移
- 持续集成、持续交付与持续部署
- 高性能
- 不需要进行硬件虚拟以及运行完整的操作系统
- 轻量级
- 快速启动
- 隔离性
- 进程隔离
2.2 容器的组成
容器=cgroup+namespace+rootfs+容器引擎(用户态工具)- Cgroup:资源控制
- Namespace:访问隔离
- rootfs:文件系统隔离
- 容器引擎:生命周期控制
2.2 docker与KVM
虚拟化技术依赖物理CPU和内存,是硬件级别的; 而docker构建在操作系统上,利用操作系统的containerization技术,所以docker甚至可以在虚拟机上运行。 虚拟化系统一般都是指操作系统镜像,比较复杂,称为“系统”; 而docker开源而且轻量,称为“容器”,单个容器适合部署少量应用,比如部署一个redis、一个memcached。 传统的虚拟化技术使用快照来保存状态; 而docker在保存状态上不仅更为轻便和低成本,而且引入了类似源代码管理机制,将容器的快照历史版本一一记录,切换成本很低。 传统的虚拟化技术在构建系统的时候较为复杂,需要大量的人力; 而docker可以通过Dockfile来构建整个容器,重启和构建速度很快。更重要的是Dockfile可以手动编写,这样应用程序开发人员可以通过发布Dockfile来指导系统环境和依赖,这样对于持续交付十分有利。三 场景
Docker通常用于如下场景:- web应用的自动化打包和发布;
- 自动化测试和持续集成、发布;
- 在服务型环境中部署和调整数据库或其他的后台应用;
- 从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境。
四 架构
- Docker客户端 – Docker
- Docker服务端 – Docker Daemon
- Docker镜像 – Image
- Docker容器 – Docker Container
- Docker镜像仓库 -- Registry


更多精彩