使用Docker容器备份GitLab完整过程

 更新时间:2025年12月30日 09:57:44   作者:爱宇阳  
在升级或维护 GitLab 自管理实例之前,备份是保障数据安全的关键步骤,本文将介绍如何在 Docker 容器环境下创建 GitLab 的完整备份与数据库备份,并说明 secrets 文件的重要性,需要的朋友可以参考下

在升级或维护 GitLab 自管理实例之前,备份是保障数据安全的关键步骤。本文将介绍如何在 Docker 容器环境下创建 GitLab 的完整备份与数据库备份,并说明 secrets 文件的重要性。

适用范围

  • 等级:免费版、高级版、终极版
  • 产品:GitLab 自管理(Self-Managed)
  • 环境:运行在 Docker 容器中的 GitLab

创建完整备份

在容器中执行以下命令即可创建完整备份:

docker exec -t <container name> gitlab-backup create

该命令会生成包含数据库、仓库、制品等内容的备份文件,存储在容器挂载的卷目录中,通常是:

/var/opt/gitlab/backups

备份 GitLab secrets 文件

除了数据库和仓库,secrets 文件同样重要。它包含 GitLab 的加密密钥和内部令牌,用于保障数据一致性和安全性。

容器内路径:

/etc/gitlab/gitlab-secrets.json

宿主机挂载路径:

$GITLAB_HOME/config/gitlab-secrets.json

请务必将该文件纳入备份,否则恢复时可能遇到复杂问题。

配置文件说明

如果你的 GitLab 配置完全通过环境变量提供(即使用 预配置 Docker 容器),那么 gitlab.rb 文件中不会存储配置设置。这种情况下,你无需额外备份配置档案。

创建数据库备份(轻量回滚用)

在升级 GitLab 前,建议创建一个仅包含数据库的备份,以便在升级失败时快速回滚。

执行以下命令:

docker exec -t <container name> gitlab-backup create SKIP=artifacts,repositories,registry,uploads,builds,pages,lfs,packages,terraform_state

此命令会跳过仓库、制品、注册表等大文件,仅备份数据库,生成的文件同样位于:

/var/opt/gitlab/backups

回滚与恢复

如果升级过程中出现问题,可以利用上述备份进行回滚。具体步骤请参考 GitLab 官方文档中的 回滚 Docker 实例部分。

总结

在 Docker 环境下备份 GitLab 的关键步骤包括:

  • 完整备份docker exec -t <container name> gitlab-backup create
  • 数据库备份:跳过大文件,仅保留数据库
  • secrets 文件备份:确保恢复时密钥一致性
  • 配置文件说明:环境变量配置无需额外备份

到此这篇关于使用Docker容器备份GitLab完整过程的文章就介绍到这了,更多相关Docker备份GitLab内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Docker Stack 部署web集群的方法步骤

    Docker Stack 部署web集群的方法步骤

    这篇文章主要介绍了Docker Stack 部署web集群的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-02-02
  • docker安装fastdfs镜像的一些注意事项

    docker安装fastdfs镜像的一些注意事项

    在安装docker fastdfs镜像时大家需要注意如果是云服务器则需要在云服务器后台的安全组入口方向放开22122、23000以及8888端口,并且在云服务器防火墙配置放开以上三个端口,具体内容详情大家跟随小编一起看看吧
    2021-05-05
  • docker-compose.yml参数的用法(配置文件)

    docker-compose.yml参数的用法(配置文件)

    这篇文章主要介绍了docker-compose.yml参数的用法(配置文件),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • 在Linux系统中安装Docker的过程

    在Linux系统中安装Docker的过程

    这篇文章主要介绍了如何在Linux系统中安装Docker,其实安装docker真的很简单,只需要几条命令就可以完成了,本文给大家介绍的非常详细,需要的朋友可以参考下
    2021-12-12
  • docker 复制容器的实现步骤

    docker 复制容器的实现步骤

    本文主要介绍了docker 复制容器的实现步骤,主要介绍了三种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-10-10
  • Docker创建enrollment token错误异常解析及解决方案

    Docker创建enrollment token错误异常解析及解决方案

    部署完kibana,需要通过enrollment token方式来连接elasticsearch,此时需要在elasticsearch中创建enrollment token,这篇文章主要介绍了Docker创建enrollment token错误异常解析及解决方案,需要的朋友可以参考下
    2024-04-04
  • Docker Desktop如何设置镜像环境变量

    Docker Desktop如何设置镜像环境变量

    Docker Desktop配置镜像环境变量需设置容器名称、端口映射、卷和环境变量,如PostgreSQL需指定POSTGRES_PASSWORD,建议按需配置,以确保数据持久化和参数传递
    2025-07-07
  • 在docker中安装mysql详解

    在docker中安装mysql详解

    本篇文章主要介绍了在docker中安装mysql详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • Docker 部署 MongoDB容器的方法

    Docker 部署 MongoDB容器的方法

    Docker就可以帮助我们将开发的应用程序,以及该程序的依赖包都打包在一个文件里,下面通过本文给大家分享Docker 部署 MongoDB的详细教程,感兴趣的朋友一起看看吧
    2021-06-06
  • docker找不到镜像无法成功下载ragflow-main的问题解决办法

    docker找不到镜像无法成功下载ragflow-main的问题解决办法

    这篇文章主要介绍了docker找不到镜像无法成功下载ragflow-main的问题解决办法,文中通过代码及图文将解决的办法介绍的非常详细,对大家学习或者使用docker具有一定的参考借鉴价值,需要的朋友可以参考下
    2025-04-04

最新评论