修复在 Docker 更新过程中破坏的 Digital Ocean 上的 Discourse 安装

我们没有花时间去研究问题的原因,因为我想尽快让 @waffleslop 恢复运行。我已经成功升级了我的 Discourse(托管在 DigitalOcean 上)服务器。不过,我使用的是命令行而不是图形界面,因为我有一个非标准安装

我可以推荐几点来尽量减少宕机时间过长的风险:

  1. 在做任何事情之前先备份! 我想知道界面上是否应该有一个警告,强烈建议在更新之前进行备份。最近的备份让我感到安心,因为在最坏的情况下,我们至少可以启动一个新的 Droplet 并恢复数据。
  2. 确保你能访问你的备份! @waffleslop 和我花了相当多的时间来弄清楚如何将 /var/discourse 的副本传输到新的 Droplet。原始 Droplet 出现了一些非常奇怪的问题,我们无法直接将文件 scp 到新的 Droplet。对于我自己的服务器,我将备份放在 S3 上,并且每晚将它们复制到我的本地机器。这是否过多?可能吧。但当事情因为某种原因停止工作时,它确实给了我很多选择。
  3. 不时测试你的备份。 当你的生产服务器宕机时,你想有信心知道自己该怎么做。理想情况下,你应该在更新之前测试备份,这样如果生产环境出现任何问题,你就有了一个可以回退的地方。但通常情况下,只要你经常尝试备份以保持流程的熟练度就足够了。
  4. 两人智慧胜一人。 也许这是我自私的想法,但如果你能与有经验的人分享屏幕进行通话,那么度过紧急情况会容易得多。理想情况下,你需要一个知道如何使用命令行的人

只要你进行了备份,升级应该 pretty safe。

5 个赞