# 升级
1.docker ps # 命令获取Rancher容器的ID
docker stop <RANCHER_CONTAINER_ID> # 停止当前运行Rancher Server的容器
2.创建当前Rancher Server容器的数据卷容器,以便在升级Rancher Server中使用,命名为rancher-data容器。
替换<RANCHER_CONTAINER_ID>为上一步中的相同容器ID。
替换<RANCHER_CONTAINER_TAG>为你当前正在运行的Rancher版本,如上面的先决条件中所述。
docker create --volumes-from <RANCHER_CONTAINER_ID> --name rancher-data rancher/rancher:<RANCHER_CONTAINER_TAG>
3.备份rancher-data数据卷容器
如果升级失败,可以通过此备份还原Rancher Server,容器命名:rancher-data-snapshot-<CURRENT_VERSION>.
替换<RANCHER_CONTAINER_ID>为上一步中的相同ID。
替换<CURRENT_VERSION>为当前安装的Rancher版本的标记。
替换<RANCHER_CONTAINER_TAG>为当前正在运行的Rancher版本,如先决条件中所述 。
docker create --volumes-from <RANCHER_CONTAINER_ID> --name rancher-data-snapshot-<CURRENT_VERSION> rancher/rancher:<RANCHER_CONTAINER_TAG>
4.拉取Rancher的最新镜像。
docker pull rancher/rancher:latest
5.通过rancher-data数据卷容器启动新的Rancher Server容器。
docker run -d --volumes-from rancher-data --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher:latest
6.删除旧版本Rancher Server容器
# 备份
1.docker ps查询<RANCHER_CONTAINER_TAG>和<RANCHER_CONTAINER_NAME>
2.docker stop `<RANCHER_CONTAINER_ID>`
3.创建数据卷容器:
备份当前Rancher Server容器的数据到数据卷容器中
docker create --volumes-from <RANCHER_CONTAINER_NAME> --name rancher-data-<DATE> rancher/rancher:<RANCHER_CONTAINER_TAG>
4.创建Rancher server数据卷容器备份
在升级期间,新的容器需要链接到数据卷容器,并且会对数据卷容器中的数据进行更新/更改。因此,需要提前对数据卷容器进行备份,以防升级失败时用于数据回滚。
docker run --volumes-from rancher-data-<DATE> -v $PWD:/backup alpine tar zcvf /backup/rancher-data-backup-<RANCHER_VERSION>-<DATE>.tar.gz /var/lib/rancher
5.备份完成后可重启Rancher服务容器
docker start <RANCHER_CONTAINER_NAME>
# 恢复
1.docker ps查询<RANCHER_CONTAINER_TAG>和<RANCHER_CONTAINER_NAME>
2.停止当前运行的Rancher容器
3.复制单节点备份的压缩文件(rancher-data-backup-<RANCHER_VERSION>-<DATE>.tar.gz)到rancher主机上,通过cd命令切换到压缩文件所在的目录,并执行以下命令:
docker run --volumes-from <RANCHER_CONTAINER_NAME> -v $PWD:/backup alpine sh -c "rm /var/lib/rancher/* -rf && tar zxvf /backup/rancher-data-backup-<RANCHER_VERSION>-<DATE>.tar.gz"
注意: 需要替换<RANCHER_CONTAINER_NAME>,<RANCHER_VERSION>,<DATE>
4.docker start <RANCHER_CONTAINER_NAME>