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及其數據恢復到上一個健康狀態