注意……要使修复生效,存在一个先有鸡还是先有蛋的局面。运行升级时仍会加载旧代码。
您可能需要第一次运行 ./launcher rebuild,之后再次运行时,Web 升级程序将正常工作。
没有简单的解决方法。@cvx 这是一个棘手的问题……严格来说,我们应该让 DockerManager::Upgrader.new(user_id, repo, repo_version).upgrade 在升级时进行外部调用并运行新的升级代码……但这就像打开了一个潘多拉的盒子。
快速解决方法
- 启动 Docker 管理器升级
- 在卡住时取消
- 在 shell 中运行
./launcher restart app - Web 升级将正常工作。
简单解决方法
- 运行
./launcher rebuild app
之后一切都会正常。
编辑
提前关闭此问题,因为我希望这是关于此主题的最后一篇文章。这样人们可以轻松找到解决方法。如果重建后仍有问题,请标记以重新打开。