推送至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 master
、git push --tags -u origin master
,
最后就会看到Github已经有新版本,
此时将网页转至Docker Hub查看Build Details
是否已经进行新版本的建置,
进行一段时间的等待后应该就能看到Success
状态在Tag0.0.7
之中,
切换至Tags
选项也能看到Tag Name
0.0.7也在列表中,也能看到所占的容量,
Dockerfile也更新到最新版的0.0.7
的内容,能看到丹尼在新版本加了apt-get update
,
结语
此次为编修Node-Red-Docker版本,增加时区的功能,间接学到如何使用Docker Hub的Automated Build来根据Github原始码内容自动化建置映像档,这一点带来的好处就是不需要将自已建置好的映像档透过网路推送至Docker Hub,一旦制作的映像档太大时,会占用网路上传频宽很长的时间,大大减少等待的时间。
参考资料
- Configure automated builds on Docker Hub
- TimeZoneChanges
- Dockerfile reference
- 撰写一份符合需求的 Dockerfile
- Docker入门教程(三)Dockerfile
更新日志
日期 | 内容 |
---|---|
2017/06/19 | 初版 |
关键字
- Docker automated builds Docker automated build
- Docker 自动建置映像档 从github
- docker Source Repository