升级到最新版本后,如何将Kiwi TCMS恢复到早期版本



我一直在将Kiwi TCMS作为Docker容器运行,运行的版本是9.0.1。现在我已经看到了最新版本10.0,所以想更新它。不确定这是否会破坏现有数据。

因此,我已经按照数据库上传了文件备份, https://kiwitcms.org/blog/atodorov/2018/07/30/how-to-backup-docker-volumes-for-kiwi-tcms/

但是,如果最新版本无法按预期工作或出现任何问题,我该如何降级到旧版本的映像?我发现了 docker 标签概念,但不确定如何应用它?

您能否确认以下内容将恢复到旧版本?

  1. 恢复数据库文件和已备份的上传文件。
  2. 将 docker 撰写文件中的映像更改为较旧的映像?就像我的情况一样,我可能想要拉取 9.0.1 版图像,因此更改图像:kiwitcms/kiwi:9.0.1有效吗?
web:
container_name: kiwi_web
depends_on:
- db
restart: always
image: kiwitcms/kiwi:9.0.1

或者,在还原最新升级的情况下,我应该如何标记版本 9.0.1,然后恢复标记的版本?

但是,如果最新版本无法按预期工作或出现任何问题,我如何降级到旧版本的映像?我发现了 docker 标签概念,但不确定如何应用它?

最简单的方法是销毁您不满意的实例,从头开始一个新实例(使用 v9.0.1),然后从备份中恢复文件/数据库。我假设您在升级之前进行了备份。

图片:Kiwitcms/Kiwi:9.0.1 有效?

理论上这是可行的,但实际上不会,因为Kiwi TCMS上游不会发布版本标记的容器映像。请参阅 https://kiwitcms.org/#subscriptions,Only latest releases行与Versioned releases from kiwitcms/version.

或者我应该如何标记版本 9.0.1

根据您已经完成或未完成的操作,这可能是可能的,也可能是不可能的:

  • 执行docker images,如果您看到类似
kiwitcms/kiwi                                              latest    9f23186803d5   8 weeks ago     736MB
kiwitcms/kiwi                                              <no tag>    <another image hash>   ...

这意味着latest指向 v10,而未标记的映像是以前的映像,在本例中为 9.0.1。然后,您可以使用docker tag命令来标记它并在docker-compose.yml文件中使用它。

  • 如果您只看到kiwitcms/kiwi:latest图像,则表示您已从系统中删除了前一个图像。您无权访问它。您的选择是:
    1. 使用相同的 git 标签从源代码重建它,或者
    2. 购买订阅以便能够访问私有kiwitcms/version存储库(如果恢复到旧版本至关重要)。

作为一个好的做法,你可以遵循以下2个建议:

  1. 使用"从备份还原"技术或"克隆 docker 映像",以便升级和试验不同的 Kiwi TCMS 实例,而不是您使用的主实例。如果您对最新版本感到满意,则可以升级主实例。请注意,通过"克隆 docker 映像",我的意思是使正在运行的映像/容器文件在不同的机器或可能相同的主机上可用,但启动辅助 Kiwi TCMS 实例 + 辅助数据库。ATM 我不确定如何做到这一点,但无论是docker本身还是其他 Linux 工具都应该能够在这里提供帮助。

  2. 下载/部署/升级本地kiwitcms/kiwi映像时docker tag它们,以便此时可以引用版本。这将避免丢失旧映像。

  3. 额外提示:使用docker tag您还可以提供自己的自定义映像名称,并可能将这些映像上传到您自己的 docker 存储库,以便以后访问/备份或在多个主机系统之间分发它们。

最新更新