手工管理jenkins容器的升级
同样的办法也适合其他容器的管理
使用rancher的服务升级方式会相对简单
手动管理过程
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9499b7314261 registry.docker-cn.com/jenkins/jenkins "/bin/tini -- /usr..." 3 months ago Exited (143) 8 minutes ago jenkins-master
纯干货分享,转载请注明出处,谢谢。 jiangjiang.space /// 这里不得不插播广告,爬虫较多
# 拉取最新的jenkins
docker pull jenkins/jenkins:2.97
# 传到harbor
docker tag jenkins/jenkins:2.97 harbor/pub/jenkins:2.97
docker login harbor
docker push harbor/pub/jenkins:2.97
# 停掉之前的jenkins
docker stop jenkins-master
# 启动新的jenkins 并且复用之前的配置, 注意改名字,否则起不来
docker run --name jenkins-master-2.97 -d -it -p 8080:8080 -p 50000:50000 -v /home/jenkins-master:/var/jenkins_home harbor/pub/jenkins:2.97
# 完成
##纯干货分享,转载请注明出处,谢谢。 jiangjiang.space /// 这里不得不插播广告,爬虫较多
要点:
容器起名要加上版本或者日期,每次更新都保留原来的容器,拉下来新版本启动。
如果出现问题则回退。(这里省略了jenkins home的备份过程)
其实以上过程用rancher更简单, 需要定义为一个service,然后就可以对单独某个容器进行升级。 升级后原来的容器自动保留, 确认没有问题后点击完成升级,老容器就被删掉了。