Docker初试一

原创
2014/04/24 15:01
阅读数 1.2K

最近在学习Docker,之所以被它吸引,是因为一个轻量的虚拟化环境,方便移植的特点,对于现在手上的项目,都很有启发,所以决定花些时间来学习一下。

Docker的安装

在Docker的官网上面,有很详细的安装说明,本人不是很懂Linux,所以采用比较大众化的Ubuntu,基本几条全集就可以安装成功,过程还是比较顺利的。附上安装说明的URL:

http://docs.docker.io/installation/ubuntulinux/

Docker的运行

在Docker的官网上面有一个很有意思的交互式的CMD,可以直接玩Docker,对于初学者来讲,相当直观,易懂。Doker其实是建立在LXC上面的一层类似虚拟机制的应用程序。希望我这样描述是正确的吧。通过这层应用程序,我们可以建立一个类似“沙箱”的container,俗称“容器”。这个容器能够当成是一个功能齐全的系统,在该系统上面运行我们需要的各种程序。而在我们建立这个container之前,我们需要一个image,俗称叫“镜像”的东西。我们通过在image中运行程序,从而得到container。最初我们可以从Docker的官网处下载一些已经做好的image,不需要自己动手在dockerfile. 从官网下载image的过程,简单的令人难以置信,就是通过在那个image中运行一条简单的命令,Docker就会在本地的repository中找寻这个image,如果有,就直接运行,如果没有,就从Docker的Index中搜寻,搜索到了就直接下载,然后运行。这样就达到了下载image的目的了。例如刚安装完Docer环境,然后运行以下命令:

sudo docker run ubuntu /bin/echo hello world



就会下载ubuntu这个image,然后执行。这个叫ubuntu是官方提供的,已经安装好ubuntu系统,可以放心使用的一个镜像。还有很多,大家可以根据自己喜欢下载不同的。在运行这条命令过后,其实就已经有一个container在我们的系统中,通过以下的命令,可以看到所有的container:

sudo docker ps -l



同样我们也可以通过以下的命令看到现在系统中有多少个image:

sudo docker images



假设我们现在需要在这个环境中安装Python,那么我们可以运行以下命令:

sudo apt-get install python



现在我们的container里面安装好了Python环境了,我们可以把现在container的状态保存下来,形成一个自己的image,以后如果需要一个已经安装好Python的Ubuntu系统,就可以直接把这个image导进去Docker,就可以直接拿来用了,非常方便。

Docker的保存方式

要保存container的状态,有两种方法。一种是通过commit和pull的方式,把刚才对ubuntu这个image的改动提交,在本地的repository中形成一个新的image,然后提交这个image到Docker官方的Index库中。以后需要用到这个image,就可以直接从官方的Index中下载就可以用了。具体操作如下:

第一步:commit。

sudo docker commit -author="your name <your email>" -m="your message" <Container ID> imagename:tag



Container ID就是刚才操作的那个container ID,另外imagename必须全部是小写,数字,下划线以及”.“的集合,不能大写或其实符号。tag就是这个image的标志,方便自己以后对这个image的改动做一个认知。

第二步:pull

sudo docker push imagename:tag



在pull之前Docker会要求你登录Docker的网站,所以在pull之前,你必须先到Docker注册你的用户名,然后就可以把你本地的image上传到官方的Index上面去了。

另外一种保存container的方法,是通过save方法在本地保存成为一个压缩文件,一般是.tar.具体操作是:

sudo docker save container:tag > yourname.tar



这个.tar文件可以拷贝到其它装有Docker的机器,然后通过导入,来恢复这个container:

sudo docker import < yourname.tar



以上是这一次Docker的初试心得,以后会继续写一些关于Docker的文章,如果有什么遗漏或者错误,希望大家多多提出,谢谢。



展开阅读全文
加载中

作者的其它热门文章

打赏
1
20 收藏
分享
打赏
0 评论
20 收藏
1
分享
返回顶部
顶部