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版本必须一致,否则迁移失败

posted @ 2023-09-18 15:23  四毛二(ت)  阅读(349)  评论(0编辑  收藏  举报
/* 鼠标点击求赞文字特效 */