zoukankan      html  css  js  c++  java
  • 记docker下gitlab备份、迁移以及出现的问题

    今天需要把一台服务器的gitlab迁移到另一台机器上,so在此记录一下

    一、新机器安装gitlab及准备工作

    我们在新机器安装gitlab的时候需要注意,新的gitlab要和旧的gitlab的版本匹配才能进行迁移
    我们在gitlab的管理面板中查看一下旧的gitlab版本

    也可以直接进入容器中进行查看

    cat /opt/gitlab/embedded/service/gitlab-rails/VERSION

    我这里旧的版本是13.12.2,所以我新机器拉取的镜像也需要时13.12.2

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

    然后直接运行

    -p 80:80 -p 9022:22 
    -v /usr/local/gitlab/etc:/etc/gitlab 
    -v /usr/local/gitlab/log:/var/log/gitlab  
    -v /usr/local/gitlab/opt:/var/opt/gitlab  
    --restart always 
    --privileged=true 
    --name gitlab 
    gitlab/gitlab-ce:13.12.2-ce.0
    

    这里的目录映射最好和旧的目录映射是一样的,以你自己为准

    二、旧gitlab备份

    在旧的机器执行

    docker exec -t gitlab gitlab-rake gitlab:backup:create

    我这里gitlab为容器名称 ,实际操作以你的为准

    可以看到这里已经生成备份文件,那么备份文件在哪里呢,在我们做的映像目录下,不知道的可以通过find找一下

    这样我们就可以看到生成的备份了

    三、迁移备份至新的gitlab

    我们把备份文件传到新的gitlib映射的目录/usr/local/gitlab/opt/backups/下

    然后开始备份还原

    # 进入gitlab
    docker exec -it gitlab /bin/bash
    # 停止数据服务应用     
    gitlab-ctl stop unicorn              
    gitlab-ctl stop sidekiq
    # 检查服务状态是否已经停止
    gitlab-ctl status
    #执行备份,我这里以我的备份文件1627020404_2021_07_23_13.12.2_gitlab_backup.tar举例,需要注意的是BACKUP后面的备份文件名称是_gitlab_backup.tar前面的名称,不要直接写文件名称                    
    gitlab-rake gitlab:backup:restore BACKUP=1627020404_2021_07_23_13.12.2    
    #这里一直等待就行,有yes的地方就填yes,只要不是报错退出就一直等待就行,我之前以为报错就终止退出了,最后输入两个yes后备份就好了
    #重新启动服务
    gitlab-ctl restart
    #最后检查确认一下
    gitlab-rake gitlab:check SANITIZE=true
    

    这里红字的意思:

    操作完以上的步骤后你刷新下网页就会变成有数据的啦,amazing

    如果发现克隆地址发生改变则修改/etc/gitlab/gitlab.rb

    新增如下即可

    external_url 'http://127.0.0.1'#你的ip
    
    gitlab_rails['time_zone'] = 'UTC'
    gitlab_rails['gitlab_ssh_host'] = '127.0.0.1'#你的ip
    gitlab_rails['gitlab_shell_ssh_port'] = 9022 #ssh的端口
    
    

    然后重新载入配置,重启即可

    gitlab-ctl reconfigure
    gitlab-ctl restart
    
  • 相关阅读:
    Average of Levels in Binary Tree
    Maximum Average Subarray I
    Integer Replacement
    Add Digits
    Binary Tree Level Order Traversal II
    Majority Element II
    Majority Element
    匿名函数
    Django的Template不支持range()函数的问题解决办法
    python文件对比利用difflib库实现文件夹下详细内容对比
  • 原文地址:https://www.cnblogs.com/shook/p/15048735.html
Copyright © 2011-2022 走看看