Docker-10-自动化构建

上文看了如何把本地的镜像上传到Docker Hub上面,但是如果我们对镜像要进行修改的时候,就得先去改Dockerfile,然后再去build,再push到Docker Hub上面去,修改频繁的情况下,要一种重复这几个操作,这就比较难受了,所以下面来看下自动化构建

自动化构建

自动化构建,就是使用Docker Hub连接一个包含Dockerfile文件的Github仓库或者BitBucket仓库,DockerHub则会自动构建镜像,通过这种方式构建出来的镜像会被标记为Automated Build,也称之为受信构建(Trusted Build),这种构建方式构建出来的镜像,使其他人在使用的时候可以自由查看Dockerfile的内容,知道镜像是怎么来的,同时由于构建过程是自动的,所以能确保仓库中的镜像是最新的.

下面来看一下具体怎么操作(这里演示用gitHub了,为什么呢?因为我没用过BitBucket.):

关联GitHub

首先登录到Docker Hub,点击右上角头像,然后账号设置,如图:
image

然后如下图,关联到自己的github账号.

image

新建仓库

gitHub关联好之后,去新建一个仓库,如图

image

信息填写完成之后点create就好了

新建GitHub仓库

DockerHub创建好了之后,去GitHub中也需要创建一个仓库,用来放Dockerfile文件,如下:
image

这里Dockerfile的内容还是和我们之前的Dockerfile内容一样,如下:

1
2
3
FROM nginx
MAINTAINER zhou "zhouze_java@sina.com"
RUN echo 'hello docker!'>/usr/share/nginx/html/index.html

到这一步,gitHub中的操作就完成了

配置自动构建

再进到DockerHub,点击刚刚新建好的仓库进去,然后上面的选项卡切换到Builds,如图:
image

点击配置进去,然后选择刚刚在git上创建的仓库,然后其他都用默认的就ok,如下:
image

最后点击Sava And Build就会自动构建了, 如下图,就是在构建中:

image

等一段时间,就可以看到是构建成功还是失败了,如下:
image

这样配置完成之后,一旦GitHub仓库中的Dockerfile文件有更新,Docker Hub上的镜像构建就会自动触发,不用人工干预,从而保证镜像始终都是最新的.

然后用户就可以通过docker pull命令去获取镜像了,关于自动化构建就先说到这里