docker + github + centos 设置crontab定时任务实现内网环境下自动部署

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

环境:内网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定时任务,定时执行以下步骤:

  1. 执行拉取动作;
  2. 如果拉取结果中有更新则停止镜像,删除对应的容器。
  3. 拉取完毕后启动更新后的镜像。

编写docker pull脚本

参考:docker会用了?不来了解一下全自动构建部署吗

编写docker_pull.sh脚本如下:

# 执行 docker pull docker用户名/test:tag 并将返回值赋给result
result=`docker pull zhang35/flask_api:latest`
# 用作判断
sureresult
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值