1 升级前先确定下当前Rancher版本,可以在Rancher管理页面左下方查看当前的Rancher版本号
2 查看当前 docker 容器列表
docker ps
3 找回之前运行rancher server 的docker run命令 (该步可省略)
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock registry.cn-shanghai.aliyuncs.com/rancher/run-config rancher
4 停止当前运行Rancher Server的容器
docker stop rancher
5 创建当前Rancher Server容器的数据卷容器,以便在升级Rancher Server中使用,命名为rancher-data容器。
下面命令中 517d97c79cfcc 是您当前正在运行的Rancher容器ID
下面命令中 latest 是您当前正在运行的Rancher版本
以上两处需要替换成你自己当前对应的
docker create --volumes-from 517d97c79cfc --name rancher-data rancher/rancher:latest
6 创建rancher-data数据卷容器的备份容器
如果升级失败,可以通过此备份还原Rancher Server,容器命名:rancher-data-snapshot-版本标记 ( 我这里是 rancher-data-snapshot-latest )
.
下面命令中 517d97c79cfcc 是您当前正在运行的Rancher容器ID
下面命令中第一个 latest 是当前安装的Rancher版本的标记。
下面命令中第二个 latest 是当前正在运行的Rancher版本
我这里都是使用的 latest 表示最近一个版本,大家可以替换成自己具体的版本号
docker create --volumes-from 517d97c79cfc --name rancher-data-snapshot-latest rancher/rancher:latest
7 拉取Rancher的最新镜像
如下命令你也可以换成 docker pull rancher/rancher:stable
docker pull rancher/rancher:latest
8 通过rancher-data数据卷容器启动新的Rancher Server容器。
如下命令你也可以换成 docker run -d --volumes-from rancher-data --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher:latest
docker run -d --volumes-from rancher-data --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher:latest
9 删除旧版本Rancher Server容器
如果您只是停止以前的Rancher Server容器(并且不删除它),则旧版本容器可能随着主机重启后自动运行,导致容器端口冲突。
如下命令 517d97c79cfc 是旧的 Rancher 容器ID
docker rm 517d97c79cfc
10 登录rancher,通过检查浏览器左下角显示的版本,确认是否升级成功。
如果升级未成功完成,则可以将Rancher Server及其数据恢复到上一个健康状态