记docker下gitlab备份、迁移以及出现的问题

今天需要把一台服务器的gitlab迁移到另一台机器上,so在此记录一下

一、新机器安装gitlab及准备工作

我们在新机器安装gitlab的时候需要注意,新的gitlab要和旧的gitlab的版本匹配才能进行迁移
我们在gitlab的管理面板中查看一下旧的gitlab版本

记docker下gitlab备份、迁移以及出现的问题

也可以直接进入容器中进行查看

cat /opt/gitlab/embedded/service/gitlab-rails/VERSION

记docker下gitlab备份、迁移以及出现的问题

我这里旧的版本是13.12.2,所以我新机器拉取的镜像也需要时13.12.2

docker pull gitlab/gitlab-ce:13.12.2-ce.0

记docker下gitlab备份、迁移以及出现的问题

然后直接运行

-p 80:80 -p 9022:22 -v /usr/local/gitlab/etc:/etc/gitlab -v /usr/local/gitlab/log:/var/log/gitlab  -v /usr/local/gitlab/opt:/var/opt/gitlab  --restart always --privileged=true --name gitlab gitlab/gitlab-ce:13.12.2-ce.0

这里的目录映射最好和旧的目录映射是一样的,以你自己为准

二、旧gitlab备份

在旧的机器执行

docker exec -t gitlab gitlab-rake gitlab:backup:create

我这里gitlab为容器名称 ,实际操作以你的为准

记docker下gitlab备份、迁移以及出现的问题

记docker下gitlab备份、迁移以及出现的问题

可以看到这里已经生成备份文件,那么备份文件在哪里呢,在我们做的映像目录下,不知道的可以通过find找一下

记docker下gitlab备份、迁移以及出现的问题

这样我们就可以看到生成的备份了

记docker下gitlab备份、迁移以及出现的问题

三、迁移备份至新的gitlab

我们把备份文件传到新的gitlib映射的目录/usr/local/gitlab/opt/backups/下

然后开始备份还原

# 进入gitlab
docker exec -it gitlab /bin/bash
# 停止数据服务应用     
gitlab-ctl stop unicorn              
gitlab-ctl stop sidekiq
# 检查服务状态是否已经停止
gitlab-ctl status
#执行备份,我这里以我的备份文件1627020404_2021_07_23_13.12.2_gitlab_backup.tar举例,需要注意的是BACKUP后面的备份文件名称是_gitlab_backup.tar前面的名称,不要直接写文件名称                    
gitlab-rake gitlab:backup:restore BACKUP=1627020404_2021_07_23_13.12.2    
#这里一直等待就行,有yes的地方就填yes,只要不是报错退出就一直等待就行,我之前以为报错就终止退出了,最后输入两个yes后备份就好了
#重新启动服务
gitlab-ctl restart
#最后检查确认一下
gitlab-rake gitlab:check SANITIZE=true

记docker下gitlab备份、迁移以及出现的问题

这里红字的意思:

记docker下gitlab备份、迁移以及出现的问题

操作完以上的步骤后你刷新下网页就会变成有数据的啦,amazing

记docker下gitlab备份、迁移以及出现的问题

上一篇:Vue 基于elementUI的电梯导航


下一篇:Abp太重了?轻量化Abp框架