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、配置文件

见附件

相关文章
|
3月前
|
Kubernetes Docker Python
Docker 与 Kubernetes 容器化部署核心技术及企业级应用实践全方案解析
本文详解Docker与Kubernetes容器化技术,涵盖概念原理、环境搭建、镜像构建、应用部署及监控扩展,助你掌握企业级容器化方案,提升应用开发与运维效率。
793 108
kde
|
1月前
|
应用服务中间件 网络安全 nginx
手把手教你使用 Docker 部署 Nginx 教程
本文详解Nginx核心功能与Docker部署优势,涵盖镜像拉取、容器化部署(快速、挂载、Compose)、HTTPS配置及常见问题处理,助力高效搭建稳定Web服务。
kde
764 4
|
3月前
|
运维 Devops 持续交付
揭秘 Docker 自动部署神器 Websoft9:热门开源软件一键部署
在企业IT建设中,软件部署常面临效率低、易出错等问题。通过Docker与自动化工具,可实现高效、标准化和可追溯的部署流程,提升企业应用交付效率,降低运维门槛,助力中小企业实现自动化部署。
274 5
揭秘 Docker 自动部署神器 Websoft9:热门开源软件一键部署
|
2月前
|
JavaScript 算法 前端开发
【Docker项目实战】使用Docker部署paopao-ce微社区
【Docker项目实战】使用Docker部署paopao-ce微社区
354 84
【Docker项目实战】使用Docker部署paopao-ce微社区
|
3月前
|
运维 Cloud Native 开发者
Docker:现代化应用开发与部署的神器
Docker:现代化应用开发与部署的神器
232 101
|
3月前
|
设计模式 Linux 开发工具
Docker部署会吗?
本段内容主要介绍了Docker常用命令、Linux基础指令及日志查看方法,还涉及SpringMVC的执行流程、设计模式与注解,适合用于面试中技术能力的展示。
140 0
|
1月前
|
应用服务中间件 Linux nginx
在虚拟机Docker环境下部署Nginx的步骤。
以上就是在Docker环境下部署Nginx的步骤。需要注意,Docker和Nginix都有很多高级用法和细节需要掌握,以上只是一个基础入门级别的教程。如果你想要更深入地学习和使用它们,请参考官方文档或者其他专业书籍。
113 5
|
2月前
|
存储 Docker Python
docker 部署 sftp
本文介绍SFTP服务的部署与配置,包括users.conf用户配置规则、Docker容器运行命令及上传目录权限说明,重点解析atmoz/sftp镜像的chroot机制与子目录映射,确保用户登录后正确访问/upload目录,并提供Python脚本实现文件上传示例。
228 12
docker 部署 sftp
|
2月前
|
运维 Linux 数据库
基于 Docker 部署 n8n 指南,新手一看就会
本教程详解如何通过 Docker 快速部署开源自动化工具 n8n,适合新手快速上手。内容涵盖官方部署步骤、常见难点及第三方一键部署方案,助你高效搭建自动化工作流平台。
1056 6