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

devtools/2024/11/17 23:15:34/

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

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

gitlab_4">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
gitlab_70">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
gitlabrb_125">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
gitlabgitlab_136">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 createpause
3.6、创建windows定时任务

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

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

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

在这里插入图片描述

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

3.6.3、备份恢复

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


http://www.ppmy.cn/devtools/134817.html

相关文章

Linux开发常用命令

文章目录 开发常用命令包管理 网络操作用户和权限系统监控nohup和screen的区别 开发常用命令 Linux开发中常用的命令非常多,以下是一些基本且重要的命令,这些命令对于日常的开发工作流程至关重要: 文件和目录操作 ls:列出目录内…

GitHub Copilot使用指南:助力开发者加速编程创新

GitHub Copilot使用指南:助力开发者加速编程创新 简介 1. GitHub Copilot的诞生背景 近年来,AI技术在各行各业迅速发展,尤其是在编程和开发领域,通过自然语言处理和机器学习,AI逐渐能够理解人类的需求和语言。GitHub…

[产品管理-83]:《产品经理从入门到精通》- 产品经理的思维方式一:用户与需求

目录 一、主要内容 二、核心思想 一、主要内容 用户研究 用户是需求的集合,用户需求是某个特定的用户在某个特定的情景下做某件事所产生的某个特定的诉求。用户研究的方法包括定性研究和定量研究。定性研究用于找出原因,即为什么有这个需求&#xff1b…

三维测量与建模笔记 - 特征提取与匹配 - 4.1 梯度信息提取

上面说的“可关联性”,举一个例子,比如我们拍摄一个凹凸不平的金属表面,在某个角度拍的时候,从图像中可以看到这些凹凸不平的地方,但是换个角度(或者光照发生变化)拍就看不到了。这样的特征点就…

深入探索R语言在机器学习中的应用与实践

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

Apache Doris:监控与运维及系统调优

引言 在前几篇文章中,我们已经介绍了 Apache Doris 的基本概念、安装配置、性能优化、数据建模最佳实践、以及高级数据导入导出功能和外部系统集成。本文将进一步探讨 Doris 的监控与运维、高级查询优化技巧,以及如何进行系统调优。通过本文&#xff0c…

大语言模型的算力共享体系中,Reduce、LayerNorm和Broadcast操作

目录 大语言模型的算力共享体系中,Reduce、LayerNorm和Broadcast操作 示例说明 1. 前向传播与梯度计算 2. All-Reduce操作(包含Reduce和Broadcast-like阶段) 3. LayerNorm的应用 示例中的顺序 结论 大语言模型的算力共享体系中,Reduce、LayerNorm和Broadcast操作 在…

fastapi 调用ollama之下的sqlcoder模式进行对话操作数据库

from fastapi import FastAPI, HTTPException, Request from pydantic import BaseModel import ollama import mysql.connector from mysql.connector.cursor import MySQLCursor import jsonapp FastAPI()# 数据库连接配置 DB_CONFIG {"database": "web&quo…