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`。
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/7b77c28a5354b3fd0ea9cab1e96f6a22_2028x212.png)
这里有好多个备份,选一个日期最新的。
再把它上传到服务器上。
如果觉得都不新,可以创建一个最新的,使用下面的命令:
```
$ 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
```
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/de04916642329082c233d735a6476fa8_1672x1192.png)
之后可能会报错:
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/79c2c04093182de5d01830c6c3de3fc1_1726x1056.png)
没关系,你再把`docker-compose up`运行一下,再开一个终端去运行之前的恢复命令。
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/6447465ff3229408db4bd1b599934b29_1006x1160.png)
数据库和仓库都会帮我恢复
所有数据都回来了,good job!
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/d26c09a920d3fca45b0ada5cf814a637_2872x1242.png)
完结。
';