Docker Hub设定自动化建置映像档

推送至Github触发自动化建置

当你将修改后的内容使用git推送至Github后,Docker Hub支援此触发产生自动化建置工作,丹尼将原先的Dockerfile内容增加apt-get update进行更新套件清单并且推送至Github的Tag版本为0.0.7进行此测试,将以下原始码加入:

RUN apt-get update \
    && echo 'Y'

Dockerfile变更为如下内容:

FROM nodered/node-red-docker
MAINTAINER danny@35g.tw
USER root
RUN apt-get update \
    && echo 'Y'
# init
ENV TIME_ZONE="Asia/Taipei"
# timezone
RUN echo $TIME_ZONE > /etc/timezone
RUN dpkg-reconfigure --frontend noninteractive tzdata
#
USER node-red
RUN npm install node-red-contrib-flightaware
RUN npm install node-red-dashboard

之后再进行git add.新增变更的档案后、再git commit -m "add update source list"进行本地端的提交,再将此次的提交增加Tag为git tag 0.0.7,最后将tag与内容推送至Github,git push -u origin mastergit push --tags -u origin master

最后就会看到Github已经有新版本,

此时将网页转至Docker Hub查看Build Details是否已经进行新版本的建置,

进行一段时间的等待后应该就能看到Success状态在Tag0.0.7之中,

切换至Tags选项也能看到Tag Name0.0.7也在列表中,也能看到所占的容量,

Dockerfile也更新到最新版的0.0.7的内容,能看到丹尼在新版本加了apt-get update

结语

此次为编修Node-Red-Docker版本,增加时区的功能,间接学到如何使用Docker Hub的Automated Build来根据Github原始码内容自动化建置映像档,这一点带来的好处就是不需要将自已建置好的映像档透过网路推送至Docker Hub,一旦制作的映像档太大时,会占用网路上传频宽很长的时间,大大减少等待的时间。

参考资料

更新日志

日期 内容
2017/06/19 初版

关键字

  • Docker automated builds Docker automated build
  • Docker 自动建置映像档 从github
  • docker Source Repository