一、选择版本

GitLab 12.2或更高版本:

  docker exec -t gitlab-backup create

GitLab 12.1和更早版本:

  gitlab-rake gitlab:backup:create

1. 查看版本方法

  进入到容器内部,执行以下命令。

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

二、创建备份文件

1.备份

  我目前使用的GitLab版本为13.4.0,因此选用第一个命令。

    docker exec -t <container name> gitlab-backup create

  执行此命令之后会在/var/opt/gitlab/backups/目录下生成一个压缩包,若在此路径下找不到,请查看gitlab.rb文件,找到gitlab_rails ['backup_path']选项,该选项指定了备份文件路径。

  路径查找方法:

  使用vim工具打开gitlab.rb文件。(若gitlab.rb目录不正确,请自行更换)

    vim /etc/gitlab/gitlab.rb

  输入:进入命令模式,输入/backup_path进行全局搜索即可。

2.从容器内部导出备份文件到Windows目录

  使用如下命令导出

    docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH

  如下所示

    docker cp bd:/var/opt/gitlab/backups/1604902035_2020_11_09_13.4.0_gitlab_backup.tar G:/

3.使用同样方法导出gitlab.rb文件(可选)

  略

三、恢复

使用一下命令把原来的文件重新发在backups目录下

    docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH

重新创建一个gitlab容器,注意版本要相同,然后执行如下命令

    docker exec -it <name of container> gitlab-ctl stop unicorn
docker exec -it <name of container> gitlab-ctl stop puma
docker exec -it <name of container> gitlab-ctl stop sidekiq
docker exec -it <name of container> gitlab-backup restore BACKUP=<备份文件名>

或者

    docker exec -it <name of container> gitlab-ctl stop unicorn
docker exec -it <name of container> gitlab-ctl stop puma
docker exec -it <name of container> gitlab-ctl stop sidekiq
docker exec -it <name of container> gitlab-backup restore

Docker中的Gitlab数据迁移的更多相关文章

  1. docker中的gitlab数据备份、迁移和升级

    前期准备 数据备份 记录gitlab运行命令: docker run -itd --name gitlab \ --hostname gitlab.suniot.cn \ -p 443:443 -p ...

  2. Docker中安装Gitlab详细全教程

    安装Docker: note: https://docs.docker.com/engine/install/centos/ 1 yum install -y yum-utils 2 yum-conf ...

  3. gitlab数据迁移到docker容器

    需求:想把服务器上的gitlab迁移到docker容器里面注意:gitlab的迁移,必须保持gitlab的版本一致,此处使用的是:8.4.3,数据库版本和类型一致,此处使用的是postgresql 9 ...

  4. gitlab数据迁移

    由于gitlab是默认安装的,随着公司代码越来越多,导致gitlab数据目录空间不足,出现无法访问gitlab了. 磁盘空间: /home有1.8T的空间一直没用上! 现在打算将原有代码目录迁移到新目 ...

  5. 在docker 中搭建gitlab环境

    docker run --name gitlab -it -p : -p : -p : \ --env 'GITLAB_SECRETS_DB_KEY_BASE=Rpwq35wjLJ5N6CrkvdXs ...

  6. docker中搭建gitlab

    1, 下载镜像 docker pull sameersbn/gitlab:7.4.3 # 下载gitlab镜像 docker pull sameersbn/mysql:latest # 下载gitla ...

  7. gitlab数据迁移至其他gitlb服务器上

    需求: A : 待迁移服务器,上边存有数据 B:接收项目得服务器,本身存在数据 验证方案: 一,搭建gitlab8.15.2 OS:rhel7.4 yum install policycoreutil ...

  8. 【Linux】宝塔上 GitLab数据迁移修改配置后nginx无法启动

    背景: 服务器A 向 服务器B 迁移数据,修改配置重启.发现gitlab的 nginx 无法启动. 查找原因 gitlab-ctl tail 错误信息: 网上查了查,似乎是宝塔的问题, 原因应该是为了 ...

  9. iserver中的服务数据迁移

    今天需要将iserver测试服务器上的空间数据服务(数据源是Oracle Plus)迁移到客户的正式服务器,原想需要很大的工作量,其实是这样简单: 一.保证客户的iserver环境都已安装正确.对于o ...

  10. docker中MySQL镜像数据,日志,配置持久化

    Docker的MySQL8镜像, 实行数据持久化 version: '3.1' services: mysql-itoken-service-admin: restart: always image: ...

随机推荐

  1. IT审计(ITAC)问题:SAP系统销售流程对于发货单和销售发票容差的配置

    IT审计(ITAC)问题:SAP系统销售流程对于发货单和销售发票容差的配置 起因: 在ITAC审计的时候,针对销售流程的控制,问了两个问题 SAP系统销售流程的发货单和销售发票基于销售订单生成的相关配 ...

  2. 深度剖析 GROUP BY 和 HAVING 子句:优化 SQL 查询的利器

    title: 深度剖析 GROUP BY 和 HAVING 子句:优化 SQL 查询的利器 date: 2025/1/14 updated: 2025/1/14 author: cmdragon ex ...

  3. 彻底讲透Spring三级缓存,原理源码深度剖析!

    一.前言循环依赖:就是N个类循环(嵌套)引用.通俗的讲就是N个Bean互相引用对方,最终形成闭环.在日常的开发中,我们都会碰到类似如下的代码 @Servicepublic class AService ...

  4. VueJs(2)---操作指南

    VueJs(9)---组件(父子通讯) 组件(父子通讯) 一.概括 在一个组件内定义另一个组件,称之为父子组件. 但是要注意的是:1.子组件只能在父组件内部使用(写在父组件tempalte中); 2. ...

  5. Linux:安装nodejs

    yum安装 自带版本 yum install nodejs 但是版本很低[6.17.1] 高版本 参考:链接 1.删除旧版本 yum remove nodejs 2.添加Node.js Yum存储库 ...

  6. 第4章 C#的高级特性

    第4章 C#的高级特性 4.1 委托 4.1.2 多播委托 对值为 null 的委托变量进行 + ​或 += ​操作,等价于为变量指定一个新值: SomeDelegate d = null; d += ...

  7. DeepSeek处理自有业务的案例:让AI给你写一份小众编辑器(EverEdit)的语法着色文件

    1 DeepSeek处理自有业务的案例:让AI给你写一份小众编辑器(EverEdit)的语法着色文件 1.1 背景   AI能力再强,如果不能在企业的自有业务上产生助益,那基本也是一无是处.将企业的自 ...

  8. MybatisPlus - [08] RestFul

    编号 接口 请求方式 请求路径 请求参数 返回值 1 新增用户 POST /users 用户表单实体 无 2 删除用户 DELETE /users/{id} 用户id 无 3 根据id查询用户 GET ...

  9. Scala样例类及底层实现伴生对象

    package com.wyh.day01 /** * 样例类的使用 * 1.使用case修饰类 * 2.不需要写构造方法,getter,setter方法,toString方法 * 3.直接通过对象名 ...

  10. Redmine 中,如何新增一个字段名,比如"模块名称":

    why: 用于编写测试报告时能够直接根据模块名称进行统计,不对excel 表格进行自定义拆分-----规范性 登录到 Redmine 平台,并进入你的项目页面. 在项目页面上方的导航栏中,点击 &qu ...