写该文时,已经迁移成功,中途出现的问题没有截图,就用文字描述吧。
把Docker安装部署的GitLab,迁移到另外一台机器。
第一次的做法是把数据目录打包,然后放到新机器上,运行失败。提示没有权限。
找到一个相似的问题,https://www.oschina.net/question/2607587_2274426,评论中给出的方法,运行:
docker exec -it gitlab update-permissions
docker restart gitlab
虽然能启动成功,但是登录报错,代码503。
执行 gitlab-ctl reconfigure ,依然不能登录。
于是打算使用GitLab自带的备份恢复。
启动旧机器上GitLab,连接容器:
docker exec -it gitlab bash
执行:
gitlab-rake gitlab:backup:create
可以看到GitLab自动在数据目录生成备份文件:1562636167_2019_07_09_12.0.3_gitlab_backup.tar

把备份文件上传到新机器上GitLab数据目录,backups下,在新机器执行:
docker exec -it gitlab bash
# 停止相关数据连接服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
# 从备份文件中恢复,注意文件名是的"_gitlab_backup.tar"不需要
gitlab-rake gitlab:backup:restore BACKUP=1562636167_2019_07_09_12.0.3
# 启动服务
gitlab-ctl start
恢复时会有两个确认对话,意思是会删除原有数据库和是否保存原来的密钥,输入”yes”覆盖,继续执行就好。

再次登录,成功!
发表回复