You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker环境彻底删除旧GitLab CE并安装最新GitLab EE方法

问题核心原因

你之前执行的docker volume prune、docker system prune -a只能清理Docker daemon管理的匿名卷、镜像、缓存资源,Laradock部署GitLab时默认使用宿主机目录绑定挂载做持久化,这部分目录不在Docker的资源管理范围内,里面残留的GitLab CE 12版本的版本标记、初始化元数据没有被删除,新的EE容器启动时读取到旧版本标记,就会触发跨大版本升级的报错,和容器、镜像残留无关。

彻底清理步骤

按顺序执行以下操作,可完全清除所有旧版本残留:

  • 停删关联容器:切到本地Laradock项目根目录,执行docker-compose down -v --remove-orphans,该命令会停止并删除当前compose配置关联的所有GitLab容器、Docker管理的关联存储卷、以及和当前配置不匹配的孤儿容器。
  • 删除本地所有GitLab相关镜像:执行docker rmi -f $(docker images | grep gitlab | awk '{print $3}'),强制删除本地缓存的所有GitLab CE/EE镜像,避免旧镜像缓存干扰安装。
  • 清理宿主机持久化残留(最关键步骤):Laradock默认将GitLab的配置、仓库数据、日志存在宿主机~/.laradock/data/gitlab路径下,直接执行rm -rf ~/.laradock/data/gitlab/*清空该目录所有内容即可。如果你之前自定义过GitLab的挂载路径,打开Laradock目录下的docker-compose.yml,找到gitlab服务下volumes配置段对应的宿主机路径,清空对应路径下的全部文件即可。
  • 残留校验:依次执行以下命令确认清理完成:
    • docker ps -a | grep gitlab:无任何GitLab相关容器输出
    • docker volume ls | grep gitlab:无任何GitLab相关Docker管理卷输出
    • 查看之前的持久化目录,确认目录下无残留文件
重装GitLab EE注意事项
  • 修正镜像地址:你之前Dockerfile里写的FROM gitlab-ee:latest是错误配置,GitLab官方镜像的仓库路径为gitlab/gitlab-ee:latest,缺少前缀会拉取到非官方的第三方镜像,甚至直接拉取失败。
  • 启动前先拉取最新镜像:切到Laradock目录执行docker-compose pull gitlab,拉取官方最新的EE版本镜像。
  • 首次启动执行docker-compose up -d gitlab即可,此时持久化目录已完全清空,容器会走全新初始化流程,不会再触发跨版本升级报错。GitLab首次初始化需要3-5分钟,等容器日志输出gitlab Reconfigured!提示后再访问对应端口即可正常进入初始化配置页。

内容的提问来源于stack exchange,提问作者Trekstler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 05:42:15