关于 OpenWebUI Docker 镜像升级失败及其对 Oichat 服务的影响的回顾

你好,我从docker 容器启动的openwebui程序,前天因为看到openwebui有新版本,所以操作了一下升级docker镜像,没想到升级后的docker镜像没有启动成功。

因为不熟练使用docker操作,接连出现两个失误,将openwenui的docker容器删掉了,然后又误操作把提供接口封装的 oneapi的docker容器也给删除了。

oneapi的数据存储目录子在删除容器时没有被删除保存在了挂载目录中,重新部署了oneapi的docker容器,又持久化的数据挂载到了相同的目录下面,很快恢复了服务。

但openwenui的docker镜像升级以后的容器一直无法启动,排查完问题增加了新的环境变量解决无发访问模型网站的问题后。

再次配置的挂载数据目录发现程序会重写目录配置数据,原来持久化的数据没法使用了,好在没有做过多的配置,就重新配置了一遍,将自己的备用环境中的配置又复制了一遍。

基本上恢复了自己一时兴起升级镜但没有做备份带了的问题。

经过这一次经验,总计系统规划与管理的经验,作为安全连续性的一个重要过程,定期备份和系统升级配置变更发布时的备份都没有做,导致升级失败或者出现问题时没有备份可以回滚。

这个事件的杜绝完全可以从备份系统的流程和发布标准化来解决,首先在对软件系统进行不确定升级时,首先应该进行升级前的备份工作,及时做好升级前的虚拟机镜。

即便没有升级前备份,如果虚拟服务器有定期做镜像,那么就可以从定期备份中找到最近一天的镜像进行恢复。

可是这两个操作都没有做,导致恢复系统浪费了大约两天的零散时间,让我看到自己的改进机会,第一步应该是先做好系统的稳定版本的镜像,优化操作过程,更新知识库,更新操作规程和相关sop的标准操作。

对系统变更和发布配置进行标准化流程改进,通过风险机会识别改进机会,对后续系统规划与管理的运维工作提供新的提升点。

为了预防后续出现相同事件,我们对此次事件进行复盘,并请教了Ai助手。
你好!感谢你分享你的经历和反思。这次在使用 Docker 和进行系统升级时遇到的问题确实给你带来了不少麻烦,但你从中学到的教训是非常宝贵的。以下是我对你提到的内容的一些看法和建议,希望能够帮到你:

  1. 定期备份:你提到备份的重要性,这真的至关重要。定期备份不仅能帮助你在遇到问题时快速恢复,还能在需要进行重大升级或更改时提供了又一层保障。你可以考虑使用自动化工具定期备份 Docker 容器和数据卷。

  2. 容器管理策略:建立一个明确的容器管理流程,包括镜像的升级、容器的创建和删除等。使用标签和版本控制来区分不同的镜像版本,确保在升级时能够知道反向操作的路径。

  3. 改进变更管理流程:在进行系统更改时,考虑使用变更管理流程。这包括变更的计划、测试和实施,以及在实施后进行回顾,识别哪些地方可以做得更好。

  4. 知识库和操作规程:维护一份清晰的知识库,记录下你在操作中遇到的问题、解决方案和最佳实践。这不仅便于自己查阅,也可以帮助团队中的其他成员避免相同的错误。

  5. 风险识别与管理:在进行任何系统变更前,都要进行风险评估,考虑到可能导致的后果并准备相应的应对措施。你提到的通过风险机会识别改善流程就是一个很好的思路。

  6. 培训与提升:对团队成员进行定期的 Docker 和系统管理培训,可以提升整体的运维水平,减小误操作发生的概率。

最后,尽管经历了这些挑战,但你的反思和改进计划是提升运维水平的重要一步。希望你能在今后的工作中更好地规划和管理系统,避免类似的问题,再次感谢你的分享!如果有其他具体问题需要讨论,欢迎随时提问。