一、数据的备份

1.进入容器 

docker exec -it gitlab /bin/bash

2、执行备份命令

gitlab-rake gitlab:backup:create 

默认将备份文件保存至/var/opt/gitlab/backups/

3. 将json和rb文件也复制到备份目录下注意

此备份不会备份json文件和rb文件,需要手动复制!!!

1、exit退出容器,将备份文件拉取到宿主机:

docker cp gitlab:var/opt/gitlab/backups/1671245938_2022_12_17_14.6.1_gitlab_backup.tar  /home/backups/

2、将json和rb文件也复制到备份目录下:

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

至此,备份完成

二、数据的恢复 

我们启动新的容器,然后将刚才备份的文件拷贝到容器里,后面两个文件直接覆盖即可

docker cp /home/backups/1671245938_2022_12_17_14.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-rake gitlab:backup:restore BACKUP=1671245938_2022_12_17_14.6.1

 如果没有权限,则执行

chmod 777 文件名

恢复之后,我们重新加载配置,并重启gitlab

gitlab-ctl reconfigure 
gitlab-ctl restart 

更多推荐