docker容器里gitlab备份

发布时间 2023-09-18 15:12:52作者: 四毛二(ت)

一、数据的备份

docker容器里的gitlab备份
chatgpt/2023/9/18 5:35:56
一、数据的备份
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