一、迁移GitLab
1.1、备份GitLab数据
docker exec -t gitlab gitlab-rake gitlab:backup:create
#创建gitlab备份,gitlab-rake不会备份配置文件
tar zcvf gitlab_config.tar.gz /opt/data/gitlab/config
#备份gitlab配置文件,文件目录在于您的映射目录
1.2、获取相同版本的GitLab镜像
docker image pull gitlab/gitlab-ce:10.7.3-ce.0
1.3、拷贝数据
mkdir -p /opt/deploy/docker/gitlab/{config,logs}
#创建gitlab工作目录
mkdir -p /mnt/vdc/gitlab_data/backups
ln -s /mnt/vdc/gitlab_data /opt/deploy/docker/gitlab/data
#将gitlab数据目录软链到另外一块磁盘
scp -i kp-ruvid6f7 /opt/data/gitlab_config.tar.gz root@ip:/opt/deploy/docker/gitlab/config
scp -i kp-ruvid6f7 /opt/data/gitlab/data/backups/1544766708_2018_12_14_10.7.3_gitlab_backup.tar root@ip:/opt/deploy/docker/gitlab/data/backups
#拷贝gitlab备份文件和配置文件到远端gitlab容器所挂载的目录
1.4、启动容器
docker run --detach \
--hostname gitlab \
--publish 30080:80 \ #前端有代理至80
--publish 30022:22 \ #前端有代理至22
--name gitlab \
--restart always \
--volume /opt/deploy/docker/gitlab/config:/etc/gitlab \
--volume /opt/deploy/docker/gitlab/logs:/var/log/gitlab \
--volume /opt/deploy/docker/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:10.7.3-ce.0
docker exec -it gitlab gitlab-rake gitlab:backup:restore
#从某个备份文件恢复,文件路径默认一定是/var/opt/gitlab/backups,也就是/opt/deploy/docker/gitlab/data/backups
1.5、修改访问URL和项目URL
vim /opt/deploy/docker/gitlab/config/gitlab.rb
external_url 'http://gitlab.xxx.com'
vim /opt/deploy/docker/gitlab/data/gitlab-rails/etc/gitlab.yml
## GitLab settings
gitlab:
## Web server settings (note: host is the FQDN, do not include http://)
host: gitlab.xxx.com
port: 80
https: false
文档:gitlab备份与恢复
文档:gitlab docker install