Docker是一种在Linux容器里运行应用的开源工具,一种轻量级的虚拟机。除了运行应用,Docker还提供了一些工具,借助Docker Index或自己托管的Docker注册对进行了集装箱化处理的应用进行分发,从而简化复杂应用的部署过程。让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,实现虚拟化。
由于docker其基于LXC的轻量级虚拟化的特点,docker相比KVM之类最明显的特点就是启动快,资源占用小。因此对于构建隔离的标准化的运行环境,轻量级的PaaS(如dokku), 构建自动化测试和持续集成环境,以及一切可以横向扩展的应用 (尤其是需要快速启停来应对峰谷的web应用)。
在docker的网站上提到了docker的典型场景:
1、Automating the packaging and deployment of applications
2、Creation of lightweight, private PAAS environments
3、Automated testing and continuous integration/deployment
4、Deploying and scaling web apps, databases and backend services
通过学习docker:使用Docker手工安装、配置和维护PAAS云计算环境,并能区分其差异,理解虚拟化技术并提高使用docker的运维经验,搭建出dockerPaaS环境。
花钱网上购买的 docker解析及轻量级PAAS平台演练 课程介绍:
第一周:
介绍什么是虚拟化技术,虚拟化技术给我们带来了什么好处。比较基于Hypervisor实现的虚拟化和Container技术实现的虚拟化的区别。介绍什么是Docker,以及Docker背后的一些关键技术CGroups, Namespace, AUFS的介绍。从原理和架构角度分析Docker是如何通过基于Virtualbox的支持来实现不同操作系统的支持,如何在Windows,和Mac,Linux下安装Docker服务。
动手实战:在Linux平台上安装完毕第一个Docker服务,然后实现第一个Hello World。
第二周
深度分析和讲解Docker中的Image的概念,以及Docker如何采用分层的机制来实现Image的管理。深度分析和讲解什么是BaseImage。如何通过Docker Hub来查找Image,以及如何使用Search 和 Pull的命令来搜索和下载一个Image。运行RUN的命令来运行一个Containter,并介绍一些Run相关的一些参数,端口映射,DNS修改等等。如何Commit一个container到一个新的Image,如何PUSH自己的Image到Docker Hub上。
动手实战:自己动手制作Image,并push到Docker Hub上。
第三周
深度解读Docker的高级特性。深入理解DockerFile,介绍DockerFile的一些关键字,以及如何编写一个DockerFile来构建一个Image。Docker的一些其他的特性,例如如何通过Link的方式来把两个容器链接在一起,以及如何创建一个Volume的容器并且把它Attach到另个一个容器上等
动手实战:编写一个DockerFile来构建一个Image。
第四周
如何通过Docker来实现一个本地的Web开发环境的基本搭建,介绍如何通过API来实现对于Docker的Container的管理。介绍什么是Cloud Computing,什么是IaaS,PaaS和SaaS,介绍FIG这个开源工具,以及如何通过FIG来实现一个轻量级的基于Docker的PaaS。
动手实战:通过FIG来实现一个轻量级的基于Docker的PaaS。
课程目录(完整一共13课时):
课时1、免费试听
课时2、Docker中文社区创始人马全一对讲师
课时3、付费学员学习指引
课时4、课程介绍
课时5、课前学习环境准备
课时6、Container技术
课时7、Docker介绍、创建第一个Docker服务
课时8、实验:新建Docker服务实现
课时9、镜像管理
课时10、运行Container
课时11、Dockerfile编写
课时12、如何进入Container
课时13、Orchestration as a Service
docker都加到RHEL7里了,看来现在已经成熟了