Gitlab+Docker 备份恢复

1 备份

1.1 进入docker容器

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

1.2 执行备份命令

# 备份gitlab 执行完成后会在容器的/var/opt/docker/backups 下生成结尾为.tar的备份文件
gitlab-backup create

# 退出容器 将容器内备份好的tar文件拷贝至宿主机
docker cp gitlab:var/opt/gitlab/backups/1675388524_2023_02_03_15.6.1_gitlab_backup.tar  /home/backups/

1.3 备份json和rb文件

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

2 恢复

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

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

此时 运行加载备份文件

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

此时报错没有权限

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

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

Gitlab+Docker 备份恢复_第1张图片

重新加载配置及重启

gitlab-ctl reconfigure 
gitlab-ctl restart

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

Gitlab+Docker 备份恢复_第2张图片

你可能感兴趣的:(Docker学习笔记,部署,gitlab)