13. docker 迁移 GitLab 项目
最后更新于:2022-04-02 01:41:15
# 13. docker 迁移 GitLab 项目
#### 1. 介绍
现在我需要把docker部署的gitlab应用迁移到另一台主机上。
**如果不知道如何用docker来搭建gitlab服务的,可以参照我以前的一篇文章[使用 compose 部署 GitLab 应用 (八)](https://www.rails365.net/articles/shi-yong-compose-bu-shu-gitlab-ying-yong-ba)**
#### 2. 流程
首先gitlab是会每天做一次备份的,备份文件位于`/srv/docker/gitlab/gitlab/backups`。

这里有好多个备份,选一个日期最新的。
再把它上传到服务器上。
如果觉得都不新,可以创建一个最新的,使用下面的命令:
```
$ docker run --name gitlab -it --rm \
sameersbn/gitlab:9.0.5 app:rake gitlab:backup:create
```
不管怎样,就是要找一个备份,然后上传到新的服务器上。
注意:**这个备份所使用gitlab的版本和新的服务器上使用的gitlab的版本要一致,不然不能成功迁移的**
新的服务器的备份的文件存放的位置跟之前的一样,也是:`/srv/docker/gitlab/gitlab/backups`。
执行下面的命令可以恢复备份:
```
$ docker-compose run --rm gitlab app:rake gitlab:backup:restore
```

之后可能会报错:

没关系,你再把`docker-compose up`运行一下,再开一个终端去运行之前的恢复命令。

数据库和仓库都会帮我恢复
所有数据都回来了,good job!

完结。
';