• Docker 安装部署 Gitlab 存储路径迁移


    1、迁移背景

    • 服务器磁盘空间已满
    • 需要更换服务器
    • Gitlab 无法正常启动
    • 其他异常需要重装

    综上无论任何迁移背景,我们都需要保留历史数据

    2、安装 Gitlab

    2.1、Docker 安装部署 Gitlab

    Docker 安装部署 GitLab

    3、迁移步骤

    3.1、停止GitLab

    为了防止在迁移存储库时,有用户写入数据,首先停止GitLab

    # docker 停止 gitLab
    docker stop gitlab
    
    • 1
    • 2

    3.2、迁移数据

    第一步,在新服务器创建 gitlab 目录(重新安装可忽略)

    # 创建 gitlab 目录
    mkdir -p /home/docker/gitlab
    
    • 1
    • 2

    第二步,远程迁移数据(重新安装可忽略)

    # 复制 gitlab 配置存放目录
    scp -r /home/docker/gitlab/etc/ root@192.168.1.2:/home/docker/gitlab/
    
    # 复制 gitlab 日志存放目录
    scp -r /home/docker/gitlab/log/ root@192.168.1.2:/home/docker/gitlab/
    
    # 复制 gitlab 数据存放目录
    scp -r /home/docker/gitlab/data/ root@192.168.1.2:/home/docker/gitlab/
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    参考示例
    在这里插入图片描述
    第三步,初始化数据和配置存放目录权限

    # 修改 gitlab 配置存放目录权限
    chown -R 200 /home/docker/gitlab/etc
    
    # 修改 gitlab 日志存放目录权限
    chown -R 200 /home/docker/gitlab/log
    
    # 修改 gitlab 数据存放目录权限
    chown -R 200 /home/docker/gitlab/data
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    第四步,备份数据并删除原容器(已经备份可忽略)
    切记备份历史数据,Gitlab 容器启动状态可执行如下命令复制数据

    # 复制 gitlab 容器配置文件到指定目录
    docker cp -a gitlab:/etc/gitlab /home/docker/gitlab/etc
    
    # 复制 gitlab 容器日志文件到指定目录
    docker cp -a gitlab:/var/log/gitlab /home/docker/gitlab/log
    
    # 复制 gitlab 容器数据文件到指定目录
    docker cp -a gitlab:/var/opt/gitlab /home/docker/gitlab/data
    
    # 删除 gitlab 容器
    docker rm -f gitlab
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    第五步,安装 Gitlab

    # 安装并启动 gitlab
    docker run -d -p 443:443 -p 80:80 \
    --name gitlab \
    --network woniu_network \
    --ip 172.0.0.19 \
    --restart unless-stopped \
    -v /home/docker/gitlab/etc:/etc/gitlab \
    -v /home/docker/gitlab/log:/var/log/gitlab \
    -v /home/docker/gitlab/data:/var/opt/gitlab \
    beginor/gitlab-ce:11.0.1-ce.0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    4、异常情况

    4.1、文件权限异常

    异常信息

    Error executing action `run` on resource 'execute[/opt/gitlab/embedded/service/gitlab-shell/bin/gitlab-keys check-permissions]'  
    
    • 1

    解决方案

    # 重新修改文件权限
    docker exec -it gitlab update-permissions
    
    # 重启 gitlab
    docker restart gitlab
    
    • 1
    • 2
    • 3
    • 4
    • 5

    4.2、重新初始化配置

    如果是其他异常导致无法正常启动,可以尝试重新初始化配置

    # 重新初始化配置,该操作会还原历史配置信息
    docker exec -it gitlab gitlab-ctl reconfigure
    
    # 重启 gitlab
    docker restart gitlab
    
    • 1
    • 2
    • 3
    • 4
    • 5

    实践是检验真理的唯一标准,一键送三连关注不迷路。

  • 相关阅读:
    Django练习
    《动手学深度学习 Pytorch版》 7.3 网络中的网络(NiN)
    Java -Stream流和常见函数式接口
    《人生苦短,我学Python》——列表(List)
    leetcode-LCP 06. 拿硬币
    使用百度EasyDL语音识别打造Smart汽车原创音乐
    终端服务的配置
    【Element-UI】CUD(增删改)及form 表单验证(附源码)
    【LeetCode: 2034. 股票价格波动 | 有序表】
    CST初级教程 二
  • 原文地址:https://blog.csdn.net/u011374856/article/details/125614261