备份
- 查看容器启动的gitlab容器:
docker ps -a
- 进入容器中:
docker exec -it 8e68414a44f7 /bin/bash
- 执行备份命令:
gitlab-rake gitlab:backup:create
执行成功后会在容器的/var/opt/gitlab/backups目录下生成一个tar包
开头的数字是备份包创建的时间
迁移和恢复
- 在需要迁移的机器上准备好docker环境,尽量与原机器的docker版本把持一直
- 将原机器的gitlab镜像打包:
docker save -o gitlab.tar gitlab/gitlab-ce:latest
- 使用scp命令,将镜像的tar包传输到需要迁移的机器
- 导入镜像:
docker load -i gitlab.tar
(以上步骤是为了保持gitlab版本的一致,因为迁移需要保持版本一致) - 按照原机器的启动方式在新的机器上启动gitlab容器(挂载的目录也需要安装原来机器进行创建)
- 将原机器的gitlab备份的包传输到新机器的相同目录下
- 修改备份包的权限:
chmod 777 1578900099_2020_01_13_12.6.0-ee_gitlab_backup.tar
- 进入容器,执行命令,停止相关服务:
gitlab-ctl stop unicorn #停止相关数据连接服务
gitlab-ctl stop sidekiq
- 执行恢复指令:根据提示输入两次yes
gitlab-rake gitlab:backup:restore BACKUP=1578900099_2020_01_13_12.6.0
- 重新启动gitlab:
gitlab-ctl start
Gitlab迁移和恢复必须要注意一点,新的gitlab服务器版本号必须和之前的gitlab版本号一致