当前位置: 首页 > article >正文

gitlab容器的迁移(部署)并配置自动备份

gitlab容器的迁移(部署)并配置自动备份

本文背景为从Ubuntu服务器上迁移gitlab容器到windows并备份,若要直接拉取镜直接安装配置可直接从第二小标题参考

1、原Ubuntu的gitlab容器制作为镜像

2.1 将运行的容器制为镜像
#镜像:id014cc12bf4ae
#制作的镜像名:my_ubuntu_container
docker commit 014cc12bf4ae my_ubuntu_container
2、查看生成的镜像
docker images
3、将镜像打包
#将镜像打包为my_ubuntu_container.tar
docker save my_ubuntu_container > my_ubuntu_container.tar

2、在windows的命令行里将打包的镜像运行

2.1 从tar文件中加载镜像到docker里
docker load -i my_ubuntu_container.tar
2.2 将运行配置写进docker-compose
#docker-compose.yml
version: '1.0'  
  
services:  
  web:  
    image: 'my_ubuntu_container'
    restart: always  
    hostname: ''
    environment:  
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'https://192.168.xxx.xxx:8081'  
        gitlab_rails['gitlab_shell_ssh_port'] = 2222  
    ports:  
      - '48081:8081'  
      - '2222:22'  
    volumes:  
      - 'D:/gitlab/config:/etc/gitlab'  
      - 'D:/gitlab/logs:/var/log/gitlab'  
      - 'D:/gitlab/data:/var/opt/gitlab'  
    shm_size: '256m'
2.3 启动容器

需要进到docker-compose.yml的目录运行

docker compose -f docker-compose.yml up -d
2.4 导入原gitlab的数据

启动完容器会发现没有数据,需将原服务gitlab挂载目录data下的数据打包传到window里

cd D:/gitlab/data
mv data databak

可在windows文件管理器中解压

2.5 重启容器
docker restart 容器id

3、windows环境下的自动备份

3.1、需要做备份时首先要考虑备份文件目录挂载的位置,方便维护

这里将备份文件挂载到‘E’盘下重新运行容器,我这里直接编辑yml文件

version: '1.0'  

name: gitlab
services:  
  web:  
    image: 'my_ubuntu_container'
    restart: always  
    hostname: ''
    environment:  
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'https://192.168.xxx.xxx:8081'  
        gitlab_rails['gitlab_shell_ssh_port'] = 2222  
    ports:  
      - '48081:8081'  
      - '2222:22'  
    volumes:  
      - 'D:/gitlab/config:/etc/gitlab'  
      - 'D:/gitlab/logs:/var/log/gitlab'  
      - 'D:/gitlab/data:/var/opt/gitlab'
      - 'E:/softdata/gitlab/bak:/home/gitlab'
    shm_size: '256m'
3.2、启动容器
docker compose -f docker-compose.yml up -d
3.3、修改配置文件gitlab.rb开启备份
gitlab_rails['manage_backup_path'] = true
gitlab_rails['backup_path'] = "/home/gitlab"

gitlab_rails['backup_archive_permissions'] = 0644
#备份文件存放时长单位为秒
gitlab_rails['backup_keep_time'] = 5184000
3.3、进入到gitlab容器重新生成配置并重启gitlab服务
#重新生成配置
gitlab-ctl reconfigure
#gitlab服务
gitlab-ctl restart
3.4、测试备份配置

完成以上配置即可在命令行中测试生成备份文件

docker exec -it 60e56b8c693c gitlab-backup create
3.5、配置windows批处理文件

在windows上创建一个 .bat文件,作用是执行gitlab容器备份

@echo off
:: 执行 Docker 命令,在容器 60e56b8c693c 中以交互模式运行 gitlab-backup create
docker exec -it 60e56b8c693c gitlab-backup create

pause
3.6、创建windows定时任务

3.6.1、打开windows的 ‘任务计划程序’
在这里插入图片描述

3.6.2、建立一个基本任务,选择具体的设置

操作栏点击‘创建基本任务’编辑名称、描述,继续设置‘触发器’选择任务何时开始,再设置‘操作’任务执行什么操作。最后在‘启动程序’里选中编辑好的.bat批处理文件,最后选择完成就好。

在这里插入图片描述

配置好的定时任务可点击启动测试执行结果,这里到挂载目录下:E:/softdata/gitlab/bak下查看备份文件是否存在
在这里插入图片描述

3.6.3、备份恢复

这里执行完的备份文件需要有两个配置文件才可恢复完整的容器,两个配置文件即gitlab-secrets.jsongitlab.rb,这里提前备份保存即可。


http://www.kler.cn/a/400151.html

相关文章:

  • 美赛优秀论文阅读--2023C题
  • Ubuntu安装配置MySQL(远程登录)
  • AWTK VSCode 实时预览插件端口冲突的解决办法
  • Java爬虫(Jsoup)详解
  • 常用命令之LinuxOracleHivePython
  • 基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
  • [webgis 0基础到找工作]------JavaScript--DOM 注册事件 day09
  • vue实现展示并下载后端返回的图片流
  • uniapp 修改网页标题title
  • 【新人系列】Python 入门(十一):控制结构
  • ODC 如何精确呈现SQL耗时 | OceanBase 开发者工具解析
  • halcon3D gen_image_to_world_plane_map的图像高精度拼接技术
  • 计算机网络-MSTP基础实验一(单域多实例)
  • HTML、CSS与JavaScript基础
  • 云原生周刊:Kubernetes v1.32 要来了
  • golang开源框架:go开源验证框架validator
  • leetcode 面试150之 Z 字形变换
  • Solana应用开发常见技术栈
  • 高效服务器管理新选择:CasaOS轻NAS系统部署1Panel面板并实现远程访问
  • 如何用Excel批量提取文件夹内所有文件名?两种简单方法推荐
  • sql专场练习(二)(11-15)
  • Springboot之登录模块探索(含Token,验证码,网络安全等知识)
  • 微信小程序组件之swiper介绍
  • GeeRPC第一天 服务端与消息编码(1)
  • JAVA学习-练习试用Java实现“判断星期的英文缩写”
  • 汽车资讯新篇章:Spring Boot技术启航