没想到被加精了,现在把精华部分——思寒的评论在一楼.,免得被精华吸引的大伙被我水了。。。
此处开始是原来的水贴。。。
这几天在尝试用 docker 来配置 appium 源码环境和 ELK,虽然还没完成,但感受到了一些 docker 的特点,觉得挺不错的,在这里分享一下。
这个纯属水贴,主要是让对 docker 没有了解的人了解一下 docker 是神马,关于 docker 的原理及深入了解请查看 docker 官方网站的介绍
docker 是一种基于 linux 容器技术的虚拟化技术。相比虚拟机,容器虚拟化减少了操作系统这个庞大的部分,但相应地,它只能运行 Linux 上的程序。
在 docker 出来之前,我们用的虚拟化技术主要是虚拟机。对于个人用途,虚拟机已经能满足大部分需要了。但当遇上需要配置大量虚拟机的环境时,虚拟机就显得比较臃肿了。
下面我们看看在 windows 下用 docker 和用虚拟机搭建一个基于 Ubuntu 的 LAMP 服务器有什么不同:
虚拟机:
Docker:
docker run -d -p 80:80 -p 3306:3306 tutum/lamp
下载并启动 LAMP使用 Docker ,你节省了:
所以,docker 相比虚拟机,最大的优势在于快速部署和使用,同时由于 docker 不是完整的虚拟机,它的开启和关闭速度要比虚拟机快的多(一般 10s 内)。
Docker 把容器镜像做成了类似代码库的形式,并把它们放到 DockerHub 上供所有人自由下载。从此之后,部署服务器环境变成了在 DockerHub 上寻找合适的镜像并下载使用,我们再也不用按着各种官方文档来慢慢配置服务器啦。
悄悄告诉你: Docker 还支持版本管理呢。
是的,对各种环境部署来说, Docker 是一个好东西。但对于对运维领域接触较少的人,没用过 docker 是正常的。因为 docker 运行的程序都没有 GUI 界面,而且 docker 只能运行基于 Linux 的程序(感谢思寒补充,docker 也可以运行 .net 程序,详细请看 Running ASP.NET 5 applications in Linux Containers with Docker)。在这个操作系统界面还要比颜值的时代,没有图形化界面的虚拟化技术普罗大众怎么会感兴趣呢?