docker部署gitlab-ce以及gitlab的备份与恢复

简介: 1、使用docker-compose的方式 docker-compose.yml version: '3.1' services: gitlab-ce: image: registry.

1、使用docker-compose的方式

docker-compose.yml


version: '3.1'

services:
  gitlab-ce:
    image: registry.cn-hangzhou.aliyuncs.com/qfz9527/gitlab-ce-zh:11.1
    container_name: gitlab-ce
    ports:
      - 80:80
      - 443:443
      - 222:22
    volumes:
      - /root/gitlab-ce/home/data:/var/opt/gitlab
      - /root/gitlab-ce/home/logs:/var/log/gitlab
      - /root/gitlab-ce/home/config:/etc/gitlab
    restart: always
    cap_add:
      - ALL
    environment:
      GITLAB_OMNIBUS_CONFIG: |
#配置此参数,可以解决在创建项目时,gitlab以容器ID为域名的问题
        external_url 'http://192.168.31.109'
        gitlab_rails['gitlab_shell_ssh_port'] = 222

2、启动容器

docker-compose up -d -f ./docker-compose.yml

3、访问gitlab

http://192.168.31.109
会提示输入密码,和注册用户,按照要求注册即可

4、创建组、项目

image
image

5、备份docker

docker-ce:容器名称

docker exec -t gitlab-ce gitlab-rake gitlab:backup:create CRON=1

6、测试恢复

使用docker-compose stop -f ./docker-compose.yml停止gitlab-ce
将备份文件拷贝到其他地方删除如下文件夹data、logs、config目录下的所有文件

  - /root/gitlab-ce/home/data:/var/opt/gitlab
  - /root/gitlab-ce/home/logs:/var/log/gitlab
  - /root/gitlab-ce/home/config:/etc/gitlab

使用docker-compose -f ./docker-compose.yml up -d 启动docker

恢复操作

cp 1564063737_2019_07_25_11.1.4_gitlab_backup.tar /root/gitlab-ce/home/data/backups/
chmod 777 /root/gitlab-ce/home/data/backups/1564063737_2019_07_25_11.1.4_gitlab_backup.tar 
#恢复gitlab
docker exec -it gitlab-ce  gitlab-rake gitlab:backup:restore

gitlab_rails['manage_backup_path'] = true

备份路径

gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"

备份文件权限

gitlab_rails['backup_archive_permissions'] = 0644

备份保留时间 604800 = 7天

gitlab_rails['backup_keep_time'] = 604800

添加备份后的docker-compose.yml


version: '3.1'

services:
  gitlab-ce:
    image: registry.cn-hangzhou.aliyuncs.com/qfz9527/gitlab-ce-zh:11.1
    container_name: gitlab-ce
    ports:
      - 80:80
      - 443:443
      - 222:22
    volumes:
      - /root/gitlab-ce/home/data:/var/opt/gitlab
      - /root/gitlab-ce/home/logs:/var/log/gitlab
      - /root/gitlab-ce/home/config:/etc/gitlab
    restart: always
    cap_add:
      - ALL
    environment:
      GITLAB_OMNIBUS_CONFIG: |
#配置此参数,可以解决在创建项目时,gitlab以容器ID为域名的问题
        external_url 'http://192.168.31.109'
        gitlab_rails['gitlab_shell_ssh_port'] = 222

        gitlab_rails['manage_backup_path'] = true
# 备份路径
        gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
# 备份文件权限
        gitlab_rails['backup_archive_permissions'] = 0644
# 备份保留时间 604800 = 7天
        gitlab_rails['backup_keep_time'] = 604800

7、配置文件

见附件

相关文章
|
1月前
|
人工智能 API 数据安全/隐私保护
使用 Docker 一键免费部署 63.8k 的私人 ChatGPT 网页应用
NextChat 是一个可以在 GitHub 上一键免费部署的私人 ChatGPT 网页应用,支持 GPT3、GPT4 和 Gemini Pro 模型。该项目在 GitHub 上获得了 63.8k 的 star 数。部署简单,只需拉取 Docker 镜像并运行容器,设置 API Key 后即可使用。此外,NextChat 还提供了预设角色的面具功能,方便用户快速创建对话。
164 22
使用 Docker 一键免费部署 63.8k 的私人 ChatGPT 网页应用
|
1月前
|
Java 应用服务中间件 Linux
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
本文主要讲解了Docker的安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库以及Docker容器虚拟化与传统虚拟机比较。
627 11
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
|
21天前
|
Java 应用服务中间件 Docker
将基于 Spring 的 WAR 应用程序部署到 Docker:详尽指南
将基于 Spring 的 WAR 应用程序部署到 Docker:详尽指南
25 2
|
1月前
|
SQL 关系型数据库 数据库
国产数据实战之docker部署MyWebSQL数据库管理工具
【10月更文挑战第23天】国产数据实战之docker部署MyWebSQL数据库管理工具
140 4
国产数据实战之docker部署MyWebSQL数据库管理工具
|
27天前
|
Java Linux Docker
什么是 Docker?如何将 Spring Boot 应用程序部署到 Docker?
什么是 Docker?如何将 Spring Boot 应用程序部署到 Docker?
41 3
|
1月前
|
机器学习/深度学习 数据采集 Docker
Docker容器化实战:构建并部署一个简单的Web应用
Docker容器化实战:构建并部署一个简单的Web应用
|
1月前
|
运维 开发者 Docker
Docker Compose:简化容器化应用的部署与管理
Docker Compose:简化容器化应用的部署与管理
|
1月前
|
Docker 微服务 容器
使用Docker Compose实现微服务架构的快速部署
使用Docker Compose实现微服务架构的快速部署
61 1
|
2月前
|
Web App开发 前端开发 测试技术
【Docker项目实战】使用docker部署tabler后台模版
【10月更文挑战第10天】使用docker部署tabler后台模版
50 1
【Docker项目实战】使用docker部署tabler后台模版
|
2月前
|
JSON JavaScript 测试技术
【Docker项目实战】使用Docker部署PPTist在线演示文稿应用
【10月更文挑战第9天】使用Docker部署PPTist在线演示文稿应用
51 1
【Docker项目实战】使用Docker部署PPTist在线演示文稿应用