docker跑gitlab,从A服务器-迁移到B服务器,包括仓库代码和用户所有信息

本文下面大部分是转载自:https://zhuanlan.zhihu.com/p/56108334

docker运行gitlab就不说了
本例子的运行的镜像是中文版的:

docker pull beginor/gitlab-ce:11.3.0-ce.0

另外注意的是我的gitlab使用的镜像是没有redis和pg的版本的,其他的版本的请自行网上查阅资料

注意点,新服务器上的gitlab使用的镜像版本要保持跟老的一致,不然迁移不了

另外,由于某些原因,老的机器上没有备份文件,那么需要根据当前最新的代码新建一个备份文件,命令如下

首先进入原来的gitlab容器执行备份命令

1:docker exec -it gitlab /bin/basd

2:gitlab-rake gitlab:backup:create RAILS_ENV=production

3:把这个文件下载到需要还原的服务器的路径(路径自己定义:比如我这里就直接扔到 /opt 目录下)

并且拷贝到新的服务器的所安装的gitlab的容器里的

/var/opt/gitlab/backups/

 

docker cp /opt/1574065296_2019_11_18_11.3.0_gitlab_backup.tar gitlab:/var/opt/gitlab/backups/

Gitlab迁移

1> 准备好新机器、安装docker

2> 拉相应版本的gitlab-ce镜像

 

 

docker pull gitlab/gitlab-ce:11.0.1-ce.0

 

 

3> 运行全新Gitlab容器

 

 

sudo docker run --detach     --hostname gitlab.xxx.com     --publish 443:443 --publish 80:80 --publish 1024:1024     --name gitlab     --restart always     --volume /srv/gitlab/config:/etc/gitlab     --volume /srv/gitlab/logs:/var/log/gitlab     --volume /srv/gitlab/data:/var/opt/gitlab     docker.io/gitlab/gitlab-ce:11.0.1-ce.0

 

 

4> 复制备份文件到backups目录

 

 

# 停掉gitlab容器
docker stop gitlab

# 复制备份文件
cp 1548648399_2019_01_28_11.0.1_gitlab_backup.tar /srv/gitlab/data/backups/

# 重启gitlab容器
docker start gitlab

 

 

5> 进入gitlab容器,恢复Gitlab数据

 

 

# 进入GITLAB
docker exec -it gitlab /bin/bash

# 停止数据服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq

# 检查状态
gitlab-ctl status

# 数据恢复
sudo gitlab-rake gitlab:backup:restore BACKUP=1548648399_2019_01_28_11.0.1

# 重启并验证

sudo gitlab-ctl restart
sudo gitlab-rake gitlab:check SANITIZE=true

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值