我最开始 了解到docker这个东西时,就感觉到这个玩意比vagrant要先进。
一次安装,在任何机器上运行。这是我对它的期盼。
今天经过一天的折腾,也明白了很多我最开始对docker这个东西的一些疑惑。
我还是没能很顺利的把它用起来,用debian安装docker中间碰到好几次坑,好歹安装上了,装imgaes的时候又报x409的错误,网上搜索一圈,最终还是未能解决我的问题,也有可能是我安装的那个vagrant box有问题,但我不想再折腾了。因为在解决问题的过程中,我发现docker这个东西就是在linux里面再运行一个类似virtualbox这样的东西。本来我的DigitalOcean资源就不是太多,再跑一个现在还不是太稳定的虚拟机,我不知道还会有什么样的麻烦在等着我。所以暂时观望这个东西,等到哪天我碰到需要管理很多台机器的问题,再来考虑这个东西。
不是类似virtualbox这样的东西,并没有完整虚拟一个OS,我的理解它只是个轻量级的应用层隔离。
类似FreeBSD下的jail。
所以说到资源,大致上只是多几个进程而已。
底层是lxc,跟主机共用一个内核,比虚拟机轻量多了
原来研究过一个colinux
这个挺轻量级,但是目前貌似不更新了,win7下稳定性也有问题
https://speakerdeck.com/jbeda/containers-at-scale
docker不是虚拟机,类似于python的virtualenv
Docker根Vagrant根本就不是一类东西。
与其说它是一种虚拟技术,不如说它是一个隔离的运行环境。
没用过 docker 不知道好在哪,
直接LXC 不挺好吗?
这东西究竟用来干嘛? 如果是用来部署开发环境, 那么每个人开发还在虚拟机里面 多麻烦啊, 例如用mac开发,在docker的linux下开发编辑器什么的多麻烦啊.
同样没理解这docker比lxc到底有多好
我直接基于lxc造属于自己的"docker"不更好?
可以控制用户资源,对多用户提交到集群的作业有用
我理解docker打包了两项已有技术:
1. lxc(现在已替换成libcontainer直接调用内核)
2. 使用aufs的层叠式image(现在也支持devicemapper/btrfs)
并且:
3. 提供image repository服务,用户可以在现成的apache/nodejs等image上构造自己的image
所以docker是传说中的“解决方案”,没有提供任何新的能力,但降低了使用门槛,对把container炒热还是贡献很大的。
对我个人来说,各种server的image都有人维护更新,比自己编译方便呀。
而且docker提供了很多丰富的API接口,可以直接外部系统集成进来,可以简单快速实现一个paas