从Gitlab 13.11.4升级到14.2.3后Docker服务启动失败如何处理?
问题原因
Gitlab不支持跨大版本直接跳过首个次版本升级,从13.x升级到14.x系列必须先升级到14.0的最新补丁版本,完成所有必要的数据库迁移和架构调整后,才能继续升级到更高的14.x版本,你当前直接从13.11.4跳14.2.3不符合升级路径要求,所以启动被拦截。
解决步骤
- 先停掉当前14.2.3的容器,提前备份所有Gitlab相关数据卷,避免操作失误丢失数据
- 将Gitlab镜像更换为14.0系列的最新稳定版本(当前为
14.0.12-ce.0),启动容器 - 等待服务完全启动后,执行命令确认所有数据库迁移完成:
返回结果中所有条目状态均为docker exec -it gitlab gitlab-rake db:migrate:statusup即为迁移完成 - 确认14.0版本运行无异常后,再将镜像更换为
14.2.3-ce.0启动容器,即可完成升级
注意事项
- 每次升级操作前必须完成全量数据备份,出现问题可直接回滚到备份状态
- 后续跨大版本升级都需要遵循升级路径要求,不能跳过大版本的首个次版本直接升级
- 每次升级后都需要等待服务完全启动、所有迁移任务执行完毕后再进行后续操作,避免迁移不完整导致服务异常
内容的提问来源于stack exchange,提问作者Mohammad Reza Mousavi
相关产品推荐
相关产品推荐

