Gitlab+Docker 备份恢复

秒速五厘米 2024-03-27 11:59 155阅读 0赞

1 备份

1.1 进入docker容器
  1. # 此处gitlab是我启动容器时给gitlab设置的别名,此处也可用容器id
  2. docker exec -it gitlab bash

1.2 执行备份命令

  1. # 备份gitlab 执行完成后会在容器的/var/opt/docker/backups 下生成结尾为.tar的备份文件
  2. gitlab-backup create
  3. # 退出容器 将容器内备份好的tar文件拷贝至宿主机
  4. docker cp gitlab:var/opt/gitlab/backups/1675388524_2023_02_03_15.6.1_gitlab_backup.tar /home/backups/

c96053fb69543eb5a5f0cc97e861a151.png

1.3 备份json和rb文件

  1. docker cp gitlab:/etc/gitlab/gitlab-secrets.json /home/backups/
  2. docker cp gitlab:/etc/gitlab/gitlab.rb /home/backups/

2 恢复

启动新的容器,将我们备份好的文件直接复制到新容器里

  1. docker cp /home/backups/1675388524_2023_02_03_15.6.1_gitlab_backup.tar gitlab:/var/opt/gitlab/backups/
  2. docker cp /home/backups/gitlab-secrets.json gitlab:/etc/gitlab/
  3. docker cp /home/backups/gitlab.rb gitlab:/etc/gitlab/

此时 运行加载备份文件

  1. # 注意文件名称
  2. gitlab-backup restore BACKUP=1675388524_2023_02_03_15.6.1

此时报错没有权限

e265b24f4244c52236b2b681846b8475.png

  1. # 给文件赋权限 继续执行上一步
  2. chmod 777 1675388524_2023_02_03_15.6.1_gitlab_backup.tar

出现此处基本上就算成功了

55895a8253cbbd0bb8556545042f920b.png

重新加载配置及重启

  1. gitlab-ctl reconfigure
  2. gitlab-ctl restart

注意 两个gitlab的版本必须一致,否则会报错

a47c729db508e25c76cdab52153b8dc1.png

发表评论

表情:
评论列表 (有 0 条评论,155人围观)

还没有评论,来说两句吧...

相关阅读

    相关 备份恢复概述

    .备份 按备份时服务器是否在线来划分,备份可分为: (1).热备份:数据库在线同时服务正常运行,此时进行的备份 (非常不安全,容易造成数据不一致)