Docker Hub结合Github自动化构建镜像
让Github与Docker Hub进行绑定
Docker Hub->Create->Create Automated Build
第一次进行该步骤需要Github的授权。会自动跳到Github同意授权即可。
在Github上创建一个Docker构建项目,在里面实现Dockerfile。
该步骤可以在本地完成,然后提交到自己的Github仓库中。
然后继续进行第一个步骤,在右侧选择Github中的构建仓库:
推送更新,自动构建
每当Dockerfile有新的修改推送到Github的构建仓库中时,在Docker Hub这里就会进行自动构建。
基于tag的推送
在默认的构建中,每推送一次代码,构建的都是全新的latest版本的构建。不方便对镜像的版本控制。
最好的方式是:基于push的提交构建出latest版本镜像,基于tag的提交构建出指定版本的镜像。
首先在Docker Hub中设置这两种构建方式:
这里需要设置两种方式,当把新的commit推送Github时,Branch那里就会被触发,构建出一个latest版本。当把新的tag推送到Github时,Tag那里就会被触发,构建出一个tag版本。
推送tag到Github
【首先别忘了add、commit、push代码。然后再去做tag的事情】
执行以下git命令推送一个tag到Git服务器:
对最新的一次commit打个tag,tag的版本为1.6 ? . 到时候构建出来的镜像的版本也是1.6
git tag -a 1.6 -m “message"
推送本地的tag到远程。
git push origin --tags
完成以上步骤后,Docker Hub就会分别基于代码的提交和tag的提交,分别构建两次。两次构建出来的版本分别是latest、1.6 。
通过这种自动构建的方式,我们就不需要手动“docker build”方式构建镜像了,也不用手动的维护镜像的版本号。当然在推送Dockerfile时,最好都是能在本地测试通过的。之后的版本、镜像控制就交给Git和Docker Hub了。这样我们在任何机器上都可以非常快速的从Docker Hub拉取镜像了。