gitlab迁移到新的docker容器中
迁移步骤
1、备份旧gitlab数据
gitlab-rake gitlab:backup:create
默认会保存在 /var/opt/gitlab/backups ,实际情况可以使用find查找下文件路径
2、在新服务器上使用docker搭建相同版本的gitlab
version: '3' services: gitlab: image: 'gitlab/gitlab-ce:11.9.8-ce.0' restart: always container_name: compose-gitlab-ce hostname: 'gitlab.example.com' environment: TZ: 'Asia/Shanghai' GITLAB_OMNIBUS_CONFIG: | external_url 'http://gitlab.example.com' gitlab_rails['time_zone'] = 'Asia/Shanghai' # 需要配置到 gitlab.rb 中的配置可以在这里配置,每个配置一行,注意缩进。 # 比如下面的电子邮件的配置: # gitlab_rails['smtp_enable'] = true # gitlab_rails['smtp_address'] = "smtp.exmail.qq.com" # gitlab_rails['smtp_port'] = 465 # gitlab_rails['smtp_user_name'] = "xxxx@xx.com" # gitlab_rails['smtp_password'] = "password" # gitlab_rails['smtp_authentication'] = "login" # gitlab_rails['smtp_enable_starttls_auto'] = true # gitlab_rails['smtp_tls'] = true # gitlab_rails['gitlab_email_from'] = 'xxxx@xx.com' ports: - '80:80' - '443:443' - '2222:22' volumes: - ./config:/etc/gitlab - ./data:/var/opt/gitlab - ./logs:/var/log/gitlab
在docker-compose.yml文件的同级目录创建三个目录:
mkdir config
mkdir data
mkdir logs
执行 docker-compose up -d 启动该容器,启动的时间会比较长 耐心等待 5分钟左右!!
3、拷贝文件到新服务器的docker中
docker cp ./1575650870_2019_12_06_11.9.8_gitlab_backup.tar compose-gitlab-ce:/var/opt/gitlab/backups
4、重建数据库
tips 1575650870_2019_12_06_11.9.8_gitlab_backup.tar 这个文件是第一步备份的时候生成的
docker exec -it compose-gitlab-ce /bin/bash chmod 777 -R /var/opt/gitlab/backups/ gitlab-rake gitlab:backup:restore BACKUP=1575650870_2019_12_06_11.9.8
迁移完成!!! 重启 gitlab 并验证
gitlab-ctl restart gitlab-rake gitlab:check SANITIZE=true
注意事项
gitlab版本必须一致,否则迁移失败
作者:南辞、归
本博客所有文章仅用于学习、研究和交流目的,欢迎非商业性质转载。
博主的文章没有高度、深度和广度,只是凑字数。由于博主的水平不高,不足和错误之处在所难免,希望大家能够批评指出。
博主是利用读书、参考、引用、抄袭、复制和粘贴等多种方式打造成自己的文章,请原谅博主成为一个无耻的文档搬运工!