Gitlab迁移到docker环境下面

需要将现有的gitlab迁移到docker中去。
先在docker中安装gitlab,为了兼容性,安装相同版本的gitlab.

https://github.com/sameersbn/docker-gitlab

在旧服务器上执行备份操作,并将备份文件拷贝过来。

gitlab-rake gitlab:backup:create
gitlab-rake gitlab:backup:create
scp -P2202 1516851496_2018_01_25_10.1.4_gitlab_backup.tar root@127.0.0.1:/docker/gitlab/gitlab/backups

注意这个压缩包要在目标服务器上给于读取权限,不然恢复备份会报解压失败错误。

cd gitlab_backup_path
chmod a+r 1516851496_2018_01_25_10.1.4_gitlab_backup.tar

在docker服务器停止且只停止gitlab服务,保留redis和postgresql

docker rm -f gitlab_gitlab_1

我是用docker-compose安装的gitlab,但是用docker-compose run 去执行恢复备份一直有问题。这里用原生的docker命令去执行

docker run --rm -it \
--network gitlab_default \
-e "DB_ADAPTER=postgresql" \
-e "DB_HOST=postgresql" \
-e "DB_PORT=5432" \
-e "DB_USER=gitlab" \
-e "DB_PASS=password" \
-e "DB_NAME=gitlabhq_production" \
-e "REDIS_HOST=redis" \
-e "REDIS_PORT=6379" \
-e "GITLAB_SECRETS_DB_KEY_BASE=XXXXXXXXXXXXXXXXXXXXXXX" \
-e "GITLAB_SECRETS_SECRET_KEY_BASE=XXXXXXXXXXXXXXXXXXXXXXX" \
-e "GITLAB_SECRETS_OTP_KEY_BASE=XXXXXXXXXXXXXXXXXXXXXXX" \
--volume /docker/gitlab/gitlab:/home/git/data \
 sameersbn/gitlab:10.1.4  app:rake d


docker run --rm -it \
--network gitlab_default \
-e "DB_ADAPTER=postgresql" \
-e "DB_HOST=postgresql" \
-e "DB_PORT=5432" \
-e "DB_USER=gitlab" \
-e "DB_PASS=password" \
-e "DB_NAME=gitlabhq_production" \
-e "REDIS_HOST=redis" \
-e "REDIS_PORT=6379" \
-e "GITLAB_SECRETS_DB_KEY_BASE=XXXXXXXXXXXXXXXXXXXXXXX" \
-e "GITLAB_SECRETS_SECRET_KEY_BASE=XXXXXXXXXXXXXXXXXXXXXXX" \
-e "GITLAB_SECRETS_OTP_KEY_BASE=XXXXXXXXXXXXXXXXXXXXXXX" \
--volume /docker/gitlab/gitlab:/home/git/data \
 sameersbn/gitlab:10.1.4  app:rake gitlab:backup:restore

重启所有服务

docker-compose up --force-recreate -d

迁移完成!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Captcha Code