首页 > 代码库 > 日积月累Learning Linux(二):Docker初认识

日积月累Learning Linux(二):Docker初认识

背景:

        最近关注的InfoQ微信号中冒出来好多关于Docker的信息,无意间打开了几则,觉得Docker这种技术很吸引我,虽然还没有完全理解Docker为何物?也没有搜索到很好的学习资料,在此仅简单的记录一下自己的一知半解,以备不时之需。

Docker认识:

        网络上随便搜索一下Docker,各种报介绍天盖地,但是都是大同小异,无非就是Docker的起源,Docker的优势等等。我觉得博文http://www.aiweibang.com/yuedu/tech/268802.html 对于Docker的一些介绍还是比较透彻、比较简洁的。文中指出,Docker试图从技术角度来简化两种已有技术的使用:1)LXC,Linux容器,允许独立进程在比普通Unix进程更高的隔离级别上运行。使用的技术术语是集装箱化,一个容器运行一个进程;2)AUFS,高级多层的统一文件系统,可以用来创建联合、写时拷贝的文件系统。

        说实话对于上述两种技术我很陌生,虽然曾经自学过Linux内核,奈何局限于时间和忍耐力未能摸出个所以然来。直观的理解Docker貌似就是希望打造一个轻量级的操作系统,每一个操作系统运行一个或多个应用,而我们自己的电脑上可以随时在多个轻量级操作系统之间任意切换而不受影响,——或许这就像使用VMWare时创建多个虚拟机一样,每一个虚拟机进行独立配置,虚拟机内部安装特定的应用,多个虚拟机之间互不干扰,——或许这就像Windows系统中创建的多个用户账户似得,每个用户账户可以独立使用操作系统,看似彼此之间互不干扰。那么为什么已经有了VMWare、已经有了多用户等模式,Docker还这儿受欢迎呢?想必答案肯定就是“Docker与上述两种模式在实现同样功能的情况下的各项消耗极低呗”。具体的技术层面的描述我就不掺和了,不懂,有兴趣的可参考博文(http://www.aiweibang.com/yuedu/tech/268802.html)。

image

Docker安装尝试:

        原本以为Docker这种超轻量级的虚拟机,应该能够适应各种系统(Unix、Linux、Windows),奈何搜索了一下相关资料发现Docker在Windows下运行还是有一定的难度,虽然目前官网上已经给出了Docker在Windows上安装的说明(http://docs.docker.com/installation/windows/),但是个人感觉还是隔靴搔痒,需要在Windows上安装VirtualBox虚拟机,然后在此基础上再安装Docker。

image

        因为本人的电脑上已经安装了VMWare虚拟机,因此决定用VMWare代替VirtualBox来尝试在Windows系统上安装一下Docker。

1)下载Boot2Docker.iso镜像(即上图中的第二项)

2)参考http://www.widuu.com/archives/06/1049.html,在VMWare中新建虚拟机,加载1)中下载的Boot2Docker.iso镜像

3)开机启动Docker,顺利完成Docker在Windows下的安装。

        如下图所示:

image

        【注】:网上很多要求直接下载boot2docker for windows XXX安装包的,然后博文说的不是很明确,在亲自测试完VMWare安装Boot2Docker后,我觉得应该指出来如果本地电脑没有安装虚拟机的话,可以考虑下载boot2docker for windows XXX安装包,因为安装包中包含了一个小型的VirtualBox虚拟机软件。如果你本机已经安装过相关的虚拟机软件,那么只要单独下载Boot2Docker.iso镜像,然后使用已有的虚拟机加载镜像文件即可,方便快捷。

Docker使用:

        安装完成后,发现Boot2Docker占用空间很小,很兴奋啊,迫不及待的想尝试几个docker的指令。

>docker run ubuntu echo Hello World

        指令运行后,顿时心凉了一半,需要下载ubuntu镜像到本地电脑,但是无奈DockerHub的服务器在国外,下载速度怎一个“卡”字了得啊?

image

        接下来为了能够进行docker尝试,搜索了半天Docker镜像国内服务器,博文中http://docker.widuu.com/、http://www.widuu.com/archives/07/1068.html给出的链接都已经失效了,输入后提示找不到该链接,原本以为虚拟机设置有问题,后来直接在浏览器中输入链接也是无效,因此初次尝试使用Docker的过程就这样无疾而终了。后续在慢慢寻找好的服务镜像服务器吧。

感受:

1)Boot2Docker的确是个好东西,对我这种菜鸟级别的人来说,可以方便的在Windows下模拟使用Docker,感觉很爽;

2)Docker应该赶紧提供中国国内镜像服务啊,要不我这学习docker的兴趣全被搜索镜像给浇灭了;

3)感觉Docker技术很牛X,不知道是否可以本地对我原本的工程都来创建一个镜像呢?是否可以用Docker来管理我本地每个工程的调试环境呢?期待中……

 

作者:zssure@163.com

时间:2014-09-14

日积月累Learning Linux(二):Docker初认识