您的位置:首页 > 运维架构 > Docker

daocloud中构建一个hallo docker网页服务器的docker镜像并部署

2015-11-01 00:00 309 查看
最近刚接触了一两天的docker,个人对docker的理解就是

对于用户是一个虚拟机

对于运营商而言这个虚拟机带来的资源消耗比传统的虚拟机要少得多

实话说我就是用户罢了,不考虑这么多,就看怎么用这虚拟机而已

如果拿来做一个网站服务器,相对与sae那种方式而已,docker的可操作性更大,更加灵活,就好像我能用C语言去做一个网站服务器,比较虚拟机比起空间啥的还是方便很多的,简直有无限大的潜力,不知道能不能达到vps的自由度

当然docker还不止这点好处,一个镜像就相当于一个应用,就好像安卓一样,换一台手机,只要下载回我的应用部署一下就能够启动服务了,是不是很简单,不用在去重复弄一堆麻烦的指令操作,所有的东西打包成一个应用,比方说,就是一个按钮,wordpress就可以用了,啥都不用做!!就好像直接拿别人的虚拟机过来用,就是这么简单

ok~说了下理解的东西,立马试一下这玩意到底怎么用,在用的过程体会一下docker的魅力

先说一下流程吧,不弄一堆麻烦的,只要没用过谁也看不懂的框架,就用c语言的一个http服务器

之前博客里写的http://my.oschina.net/tmj1993/blog/495645

待会就用这么作为docker的核心内容

先登录daocloud



创建新项目

连上我的github,然后指定我自己github上面的项目,是刚刚早上push上去的

https://github.com/ahelloworld/MiniHttpServer

ok,里面就三个文件

一个是源文件httpserver.c

一个是makefile文件,将源文件通过make all,得到httpserver可运行文件

一个是dockerfile文件,这个文件就是应用打包的关键拉

FROM ubuntu //相当安装一个ubuntu核心系统

MAINTAINER ahelloworld <tmj1165818439.tm@gmail.com> //没啥用,说一下个人信息罢了

RUN apt-get update //更新

RUN apt-get -y install gcc make //安装一下gcc和make,因为这个系统只有核心部分

COPY / / //将我github的根目录拷贝到虚拟机根目录

EXPOSE 80 //开放80端口

RUN make all //复制完了自然是对根目录下的httpserver.c文件进行编译拉,通过makefile编译一下,得到一个httpserver可运行文件

ENTRYPOINT ["/httpserver", "80"] //可运行文件运行咯

ok!

我们看看这个镜像的制作过程



部署的时间也是挺快的哈,第一步先从cache查找,第二步就是我github的源文件clone拉

第三步镜像的制作,可以展开看一些细节,有些操作重复的可能会做成cache,然后别人做相同操作就可以从cache获取加快速度,云计算大数据啥的?反正用得人很多数据库非常大的情况下也许会非常好

到了entrypoint那一步就是程序的运行(cmd也类似),前面制作完镜像了,在镜像的条件下,我们通过./httpserver 80来用这么镜像提供网页服务拉,cmd的话提供可改变运行参数的方式,entrypoint采用固定的方式,因为只开了80端口,就算提供可变也是没啥用,还是entrypoint走起

最后镜像就做出来了



镜像有了就可以随意部署了,就像类与对象的关系,就像商城应用与你手机上的应用的关系,做出一个镜像,就可以供大家部署使用

部署就没啥好说的啦,按两下的事

http://hellodocker-minihttp.daoapp.io/

提供一个网址给大家看看效果,不定期失效,因为这个应用会占用我一个额度呀,估计过一段时间就关了



就是hello docker呗
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  docker daocloud