Docker 持续构建镜像

作者: 左蓝 | 来源:发表于2017-01-07 23:36 被阅读1293次

    在使用Docker镜像过程中,我们经常需要构建自己的镜像,而每一次docker build的漫长等待都非常耗费时间,而且面对一些大型镜像的编译工作还需要服务器有足够的硬件性能,这对普通用户来说是个不小的门槛与负担。

    因此我们可以利用Docker Hub或者Docker Cloud来自动构建镜像,解放我们的双手,也节省了一笔服务器费用。

    Docker Hub 自动持续构建

    在登录Docker Hub之后,首先在右上角头像的菜单中依次选择Settings > Linked Accounts & Services,这时候可以看到Github的图标,点击认证,然后Docker Hub就与你的Github仓库连接了。

    接下来在右上角“Create”的下拉菜单中点击Create Automated Build即可打开自动构建的页面,如下图所示。

    Docker Hub自动构建界面

    点击保存之后,可以看到新的镜像页面已经搭建起来了,如下图所示,当Github上的Dockerfile仓库有改动时,Docker Hub会自动构建镜像。

    自动构建已经开始

    构建完成会提示如下,用户可以点击相应的构建编号查看构建过程,如下图所示:

    构建成功

    Docker Cloud 自动持续构建

    Docker Hub构建时会进入一个队列,并非立即构建,如果你需要马上构建一个镜像,但手头没有性能足够的机器构建,那么可以使用Docker Cloud。

    除了Docker Hub、Docker Cloud提供持续构建镜像功能,很多国内外的Docker创业公司都推出了免费的构建服务,除此之外还可以使用著名的持续构建服务Travis CI来构建镜像。

    登录Docker Cloud的界面如下,如下图所示:


    Docker Cloud界面

    选择左边的Repository进入构建界面,如下图所示,这里以自动构建一个Apache镜像为例,选择之前构建的Apache,准备设置为自动构建,选择连接到Github:

    连接Github仓库

    注意,目前构建功能处于beta阶段,所以免费,以后应该会部分收费,其实除了Docker Hub,其他很多公司都提供免费的构建服务,但为了更好地使用Docker Hub,我们选择Docker Cloud作为例子。

    如下图所示,选择你的Dockerfile仓库:

    选择Dockerfile所在的Github仓库

    注意下图中的Dockerfile location的填写,这里的/代表了仓库的根目录位置,而本例子中Apache的Dockerfile在apache文件夹里面,所以这里要补充Dockerfile的地址/apache,你还可以选择分支以及构建的标签,最后记得选中Autobuild,这样以后Github仓库更新之后,该镜像也会自动重新构建,省却了自己动手构建推送的麻烦。

    Dockerfile位置

    点击Save and Build等待构建结果即可。构建日志在Timeline可以查看,构建失败会显示失败原因,如下图所示:

    查看构建日志

    至此Docker官方提供的两种自动化构建介绍就到此为止啦。

    使用Docker Cloud自动构建时,Docker Hub不会生成自动构建页面,个人更推荐第一种方式。

    相关文章

      网友评论

        本文标题:Docker 持续构建镜像

        本文链接:https://www.haomeiwen.com/subject/yhfqbttx.html