docker容器里的gitlab备份
一、数据的备份
1、进入容器;
docker exec -it be4c4727f3ae bash
2、执行备份命令;
gitlab-rake gitlab:backup:create
如图
默认将备份文件保存至/var/opt/gitlab/backups/
如图
3、将json和rb文件也备份--此备份不会备份json文件和rb文件,需要手动复制
(1):退出容器;宿主机复制出备份文件
docker cp be4c4727f3ae:var/opt/gitlab/backups/1672294041_2022_12_29_11.1.4_gitlab_backup.tar /data/feng/
docker cp be4c4727f3ae:/etc/gitlab/gitlab-secrets.json /data/feng/
docker cp be4c4727f3ae:/etc/gitlab/gitlab.rb /data/feng/
备份完成;
二、数据的恢复
我们启动新的容器,然后将刚才备份的文件拷贝到容器里,后面两个文件直接覆盖即可
1、docker cp /data/feng/1672294041_2022_12_29_11.1.4_gitlab_backup.tar 新容器ID:/var/opt/gitlab/backups/
docker cp /data/feng/gitlab-secrets.json 新容器ID:/etc/gitlab/
docker cp /data/feng/gitlab.rb 新容器ID:/etc/gitlab/
2、拷贝完之后,我们进入容器,进入备份目录,执行如下命令
gitlab-rake gitlab:backup:restore BACKUP=1672294041_2022_12_29_11.1.4
如果没有权限,则执行
chmod 777 文件名
gitlab-ctl reconfigure
gitlab-ctl restart
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~