docker中gitlab迁移

一、备份
1、首先查看docker中运行的容器,找到运行gitlab的容器id

linux shell 窗口中执行如下命令:

docker ps
2、进入docker容器
docker exec -i -t 4d5e099d20af /bin/bash
3、创建备份

执行命令:

gitlab-rake gitlab:backup:create

备份完成后生成的文件:

1669876030_2022_12_01_11.1.4_gitlab_backup.tar

备份文件所在目录为git数据卷目录中的backups

4.拷贝文件

一般是在下面这个目录

root@80722339a402:/var/opt/gitlab/backups#

如果没有挂载数据卷,但是又不知道文件在哪里,可以使用命令在linux本机上查找这个备份的文件

假设我有一个名为test.txt的文件,我需要找到它但是不确定具体位于哪个目录下。我可以执行下面的命令,从文件系统的顶部/开始搜索。

find / -type f -name test.txt

具体含义为:

  • /表示从文件系统的顶部开始搜索。

  • -type 是你要寻找的东西的类型。f表示文件,b表示块状特殊设备文件,c表示字符特殊设备文件,d表示目录,l表示符号链接。

  • -name是你要寻找的东西的名字,结果将完全匹配。

find / -type f -name 1669876030_2022_12_01_11.1.4_gitlab_backup.tar
二.恢复

1、把备份文件上传到新服务器的gitlab数据卷backups目录中

2、进入dokcer 容器 gitlab(使用挂载数据卷的方式启动)

docker exec -i -t gitlab /bin/bash 

3、恢复备份

此处有个大坑,一定要指定路径,并且文件的一些后缀不需要加,要手动删除一些后缀

gitlab-rake gitlab:backup:restore BACKUP=/var/opt/gitlab/backups/1669876030_2022_12_01_11.1.4

4.停止相关数据链接

gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq

5.重启

 gitlab-ctl restart

完成后访问WEB检查了下没有什么问题。

你可能感兴趣的:(docker,docker,gitlab,容器)