云计算之docker篇

jopen 5年前

写在前面的话:

由于最近公司开始着手做云计算,自己有幸参与整个项目的全过程,所以呢,准备在blog中记录整个项目从无到有,从测试到生产的全过程,希望对自己的每一步进行一个记录以及在项目中遇到的坑和如何解决。希望大家能够在此找到一点点借鉴。

==================华丽分割线====================================================================

什么是docker?

docker的字面意思是码头工人,与集装箱有关,那么docker就可以理解为是一个集装箱(容器)。

详细的说:

dockers是dockers.inc  公司开源的一个基于LXC技术之上构建的container容器引擎(说个题外话 openstack基于KVM ,docker基于LXC),源代码托管在GITHUB上,基于GO 语言并遵从apache2.0 协议开源。(可以商业,改吧改吧就可以卖钱了)。

docker是通过内核虚拟化技术((namespaces及cgroups等),KVM呢是通过硬件虚拟化技术,CPU支持的。)来提供容器的资源隔离与  安全保障等。

在非linux平台是没法使用docker的,因为他是基于内核技术来实现资源隔离和安全保障的。

由于dockers通过操作系统层的虚拟化实现隔离,所以docker容器在运行的时候,不需要类似虚拟机(VM)额外的操作系统开销,提高了资源的利用率。

docker官网在此 https://www.docker.com/ ,截个图来说明一下docker的三大理念。

云计算之docker篇 如上图所示:Build  ,ship ,Run( 构建,运输, 运行)。

这就是docker的三大核心理念,认为一个东西我构建上了,放在某个地方就可以运行起来,可以用java来进行一个对比,怎么说呢?我有JVM虚拟机,一次构建,备考之后到处运行。但是呢,也有不同的地方,因为docker里面运行的是一个应用(apache ,nginx,tomcat),  它的构建是基于docker的镜像,可以基于这个镜像起容器.

openstack 

来自: http://www.jixuege.com/?id=45