备份
1. 进入容器 docker exec -it gitlab /bin/bash
2. 执行gitlab-rake gitlab:backup:create 备份命令,默认将备份文件保存至/var/opt/gitlab/backups/(注意:此备份不会备份json文件和rb文件,需要手动复制!!!)
3. 备份完成后需要进入目录查看
cd /var/opt/gitlab/backups/
4. exit退出容器,将备份文件拉取到宿主机:
docker cp gitlab:/var/opt/gitlab/backups/1655195319_2022_06_14_14.2.6_gitlab_backup.tar /data/bak/gitlab/20220614
5. 将json和rb文件也复制到备份目录下
docker cp gitlab:/etc/gitlab/gitlab-secrets.json /data/bak/gitlab/20220614/
docker cp gitlab:/etc/gitlab/gitlab.rb /data/bak/gitlab/20220614/
恢复
1. 查看容器
#输入命令查看docker中所有容器
#docker ps 查看所有运行中的容器、-a可以列出所有容器包括未运行的
docker ps -a
2. 先停止本来的容器
docker stop gitlab
3. 复制备份文件到容器内
docker cp /data2/git-back/1641520067_2022_01_07_12.2.5_gitlab_backup.tar gitlab:/var/opt/gitlab/backups
docker cp /data2/git-back/ gitlab-secrets.json gitlab: /etc/gitlab/
docker cp /data2/git-back/ gitlab.rb gitlab: /etc/gitlab/
4. 恢复数据
gitlab-rake gitlab:backup:restore BACKUP=1606752150_2020_11_30_11.10.1
5. 假如页面上,分享地址没有ip
修改/etc/gitlab/ gitlab.rb中的external_url
6. 页面点击项目报404,清除缓存
gitlab-rake cache:clear
升级
1. 先按照上面的步骤备份
2. 确认升级路线(只能一个版本一个版本的升级)
https://docs.gitlab.com/ee/update/
3. #停止gitllab服务
docker stop gitlab && docker rm gitlab
4. 升级(一定得有目录挂载)
docker run -d \
-p 9002:22 -p 9000:80 -p 9001:443 \
--name gitlab --restart always --privileged=true \
-v /opt/gitlab/config:/etc/gitlab \
-v /opt/gitlab/logs:/var/log/gitlab \
-v /opt/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:14.6.2-ce.0
5. 假如登录进去后报500
执行下面命令,升级数据库关系
?gitlab-rake db:migrate
?gitlab-ctl reconfigure
?gitlab-ctl restart