环境:内网centos7服务器一台,能正常访问互联网。
目标:代码push到github后,能自动在服务器上更新部署docker镜像。
整体思路
github仓库更新后,可通过关联docker hub仓库自动构建镜像,参考官方教程:
http://docs.docker.oeynet.com/docker-hub/github/#creating-an-automated-build
接下来只需在服务器上自动拉取docker hub生成的最新镜像即可。
常用的方式是Webhooks,它会向某url发送post消息,触发自动部署。然而对于内网服务器,Webhooks消息是进不来的,于是本文采用了在centos上设置crontab定时任务的方式,每隔1分钟主动拉取新的镜像。
设置crontab定时任务,定时执行以下步骤:
- 执行拉取动作;
- 如果拉取结果中有更新则停止镜像,删除对应的容器。
- 拉取完毕后启动更新后的镜像。
编写docker pull脚本
编写docker_pull.sh脚本如下:
# 执行 docker pull docker用户名/test:tag 并将返回值赋给result
result=`docker pull zhang35/flask_api:latest`
# 用作判断
sureresult

本文介绍了如何在内网的CentOS服务器上,通过Docker、GitHub和Crontab设置定时任务,实现在代码推送GitHub后自动更新并部署Docker镜像。详细步骤包括编写Docker pull脚本、设置Crontab定时任务,以及展示最终效果。
最低0.47元/天 解锁文章
2227

被折叠的 条评论
为什么被折叠?



