Docker 持续构建镜像

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

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

Docker Hub 自动持续构建

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

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

Docker 持续构建镜像_第1张图片
Docker Hub自动构建界面

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

Docker 持续构建镜像_第2张图片
自动构建已经开始

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

Docker 持续构建镜像_第3张图片
构建成功

Docker Cloud 自动持续构建

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

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

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


Docker 持续构建镜像_第4张图片
Docker Cloud界面

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

Docker 持续构建镜像_第5张图片
连接Github仓库

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

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

Docker 持续构建镜像_第6张图片
选择Dockerfile所在的Github仓库

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

Docker 持续构建镜像_第7张图片
Dockerfile位置

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

Docker 持续构建镜像_第8张图片
查看构建日志

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

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

你可能感兴趣的:(Docker 持续构建镜像)