gitlab docker部署,备份,恢复。附踩坑记录

本次安装在CentOS7下进行

1、安装yum

检查是否已经安装yum

yum --version

如果未安装

sudo yum install -y yum-utils

添加镜像源:

  • 国外镜像源:yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  • 阿里镜像源:yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/decker-ce.repo

2、安装docker

  • 安装最新版本(默认):yum install docker-ce
  • 安装指定版本:yum install docker-ce-20.10.9-3.el7

配置开机启动:

  • 启动docker:systemctl start docker
  • 配置开机启动:systemctl enable docker
  • 查看docker版本:docker version

3、docker部署gitlab

拉取最新gitlab镜像

方式一:直接使用最新版本镜像

  • docker pull gitlab/gitlab-ce:latest

方式二:使用指定版本镜像,这里使用了13.10.0版本 (教程使用的此方式)

  • docker pull gitlab/gitlab-ce:13.10.0-ce.0

创建映射文件目录

# 映射配置文件夹
mkdir -p /home/gitlab/conf
# 映射日志文件夹
mkdir -p /home/gitlab/logs
# 映射数据文件夹
mkdir -p /home/gitlab/data

运行docker容器

最好不要使用80端口,使用了也没问题后面会教你更改

 后面会改成 --publish 50055:50055  \
# 主机名、端口映射、目录映射、gitlab版本 需自行修改
sudo docker run --detach \--hostname ip地址 \--publish 50055:80  \--name gitlab \--restart always \--volume /data/gitlab/conf:/etc/gitlab \--volume /data/gitlab/logs:/var/log/gitlab \--volume /data/gitlab/data:/var/opt/gitlab \--shm-size 256m \--privileged=true gitlab/gitlab-ce:13.10.0-ce.0
一劳永逸版
sudo docker run --detach \--hostname ip地址 \--publish 50055:50055  \--name gitlab \--restart always \--volume /data/gitlab/conf:/etc/gitlab \--volume /data/gitlab/logs:/var/log/gitlab \--volume /data/gitlab/data:/var/opt/gitlab \--shm-size 256m \--privileged=true gitlab/gitlab-ce:13.10.0-ce.0修改gitlab服务端口号:vim /etc/gitlab/gitlab.rbexternal_url 'http://ip:50055'使用命令进行更新配置:gitlab-ctl reconfigure

查看防火墙

查看开放的端口号
firewall-cmd --list-all开放指定端口
sudo firewall-cmd --add-port=50055/tcp --permanent重启防火墙(设置完一定要重启防火墙):
firewall-cmd --reload现在外部就可以访问这些端口了

4、备份

注意这里gitlab的版本,后面恢复是要保证版本一致的

# 查看容器id
docker ps# 进入容器 示例:docker exec -it -i 4c97d29eee9b /bin/bash
docker exec -it -i <这里是容器id> /bin/bash# 执行备份命令
gitlab-rake gitlab:backup:create

备份文件可在 /data/gitlab/data/backups找到

5、恢复

要注意恢复版本要和备份版本保持一致

# 把第一台服务器备份的 xxx_gitlab_backup.tar 文件拷贝到新gitlab的/data/gitlab/data/backups目录中# 进入容器 示例:docker exec -it -i 4c97d29eee9b /bin/bash
docker ps
docker exec -it -i <这里是容器id> /bin/bash
# 修改权限
chmod 777 /var/opt/gitlab/backups/1682571554_2023_04_27_13.5.4_gitlab_backup.tar
chown -R git:git /var/opt/gitlab/backups/1682571554_2023_04_27_13.5.4_gitlab_backup.tar# 恢复备份文件前,先停止容器内相关数据连接服务
gitlab-ctl stop puma
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq# 最好修改下数据权限,不然恢复容易报错
# 修改postgresql配置
vi /var/opt/gitlab/postgresql/data/postgresql.conf
# 如下修改:
listen_addresses = '*'# 修改pg_hba配置
vi /var/opt/gitlab/postgresql/data/pg_hba.conf
# 最后添加:
local   all         all                               trust
host    all         all                               127.0.0.1/32 trust# 重启gitlab服务
gitlab-ctl restart# 修改gitlab账号为超级用户
su - gitlab-psql
/opt/gitlab/embedded/bin/psql -h 127.0.0.1 gitlabhq_production
ALTER USER gitlab WITH SUPERUSER;
\q
exit# 恢复备份文件前,先停止容器内相关数据连接服务
gitlab-ctl stop puma
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq# 恢复备份, 后面的数字是 1682571554_2023_04_27_13.5.4_gitlab_backup.tar文件的前面一部分
gitlab-rake gitlab:backup:restore BACKUP=1682571554_2023_04_27_13.5.4# 重启服务
gitlab-ctl restart# 拷贝配置文件
cp gitlab-secrets.json /data/gitlab/conf/
cp gitlab.rb /data/gitlab/conf/# 重启服务
gitlab-ctl restart

修改服务端口号

由于使用的80端口映射,导致gitlab克隆没有端口号,拉不了代码。

解决方法

1、修改服务的端口号
修改gitlab服务端口号:vim /etc/gitlab/gitlab.rb

external_url 'http://ip:50055'使用命令进行更新配置:gitlab-ctl reconfigure

2、进入gitlab容器
修改配置文件gitlab.yml,修改host 与上面.rb文件修改的一致

cd /opt/gitlab/embedded/service/gitlab-rails/config

在这里插入图片描述
重启服务

gitlab-ctl restart

3、修改docker容器映射端口,也就是上面docker run 使用的80端口

在这里插入图片描述
修改 hostconfig.json 文件,找到如下配置,可以添加想要开放的端口

"PortBindings":{"80/tcp":[{"HostIp":"","HostPort":"80"}],"8088/tcp":[{"HostIp":"","HostPort":"8088"}]
}

修改 config.v2.json 文件,找到如下配置,可以添加想要开放的端口

"ExposedPorts":{"80/tcp":{},"8088/tcp":{}}

注:并不需要修改Ports,只有在你没有stop容器时,Ports才会有值,如果关闭了容器,就是null。当然如果你修改了也无所谓,因为重启容器后,就会被刷新。

重启docker和容器即可
重启docker命令如下:

systemctl start docker

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/158216.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Xshell7和Xftp7超详细下载教程(包括安装及连接服务器附安装包)

1.下载 1.官网地址&#xff1a; XSHELL - NetSarang Website 选择学校免费版下载 2.将XSHELL和XFTP全都下载下来 2.安装 安装过程就是选择默认选项&#xff0c;然后无脑下一步 3.连接服务器 1.打开Xshell7&#xff0c;然后新建会话 2.填写相关信息 出现Connection establi…

香港服务器选纯国际线路上网稳定吗?

​  关于香港服务器的线路&#xff0c;我们平时接触较多的分三大类&#xff0c;即纯国际线路、回国专线和香港本地线路。三者价格上存有差距&#xff0c;原因体现在线路和网络质量上&#xff0c;当然这些会关系到服务器的速度和稳定性。譬如&#xff0c;有些用户在选择了纯国…

说明书MS2721A频谱分析仪7.1GHz

安立Anritsu MS2721A 频谱分析仪 MS2721A 是 Anritsu 的 7.1 GHz 频谱分析仪。频谱分析仪测量已知和未知信号的频谱功率。频谱分析仪收集信息&#xff0c;例如输入信号与其频率相比的幅度。作为频率分析仪&#xff0c;频谱分析仪的主要用途是记录和分析电输入信号以及其他信号的…

[23] IPDreamer: Appearance-Controllable 3D Object Generation with Image Prompts

pdf Text-to-3D任务中&#xff0c;对3D模型外观的控制不强&#xff0c;本文提出IPDreamer来解决该问题。在NeRF Training阶段&#xff0c;IPDreamer根据文本用ControlNet生成参考图&#xff0c;并将参考图作为Zero 1-to-3的控制条件&#xff0c;用基于Zero 1-to-3的SDS损失生成…

【想法】取代NI的 PCIe-8371

PCIe-8371 涨价非常厉害。 PCA3 https://www.terasic.com.tw/cgi-bin/page/archive.pl?LanguageEnglish&CategoryNo65&No1143 PCA3 (PCIe Cable Adapter, Gen 3) is a conversion card to connect boards with your host PC. It can support up to PCIe Gen 3 x4. …

文字与视频结合效果

效果展示 CSS 知识点 mix-blend-mode 属性的运用 实现整体页面布局 <section class"sec"><video autoplay muted loop><source src"./video.mp4" type"video/mp4" /></video><h2>Run</h2><!-- 用于切…

ChatGPT或将引发现代知识体系转变

作为当下大语言模型的典型代表&#xff0c;ChatGPT对人类学习方式和教育发展所产生的变革效应已然引起了广泛关注。技术的快速发展在某种程度上正在“倒逼”教育领域开启更深层次的变革。在此背景下&#xff0c;教育从业者势必要学会准确识变、科学应变、主动求变、以变应变&am…

小谈设计模式(28)—解释器模式

小谈设计模式&#xff08;28&#xff09;—解释器模式 专栏介绍专栏地址专栏介绍 解释器模式角色分析抽象表达式&#xff08;Abstract Expression&#xff09;终结符表达式&#xff08;Terminal Expression&#xff09;非终结符表达式&#xff08;Non-terminal Expression&…

【爬虫实战】用pyhon爬百度故事会专栏

一.爬虫需求 获取对应所有专栏数据&#xff1b;自动实现分页&#xff1b;多线程爬取&#xff1b;批量多账号爬取&#xff1b;保存到mysql、csv&#xff08;本案例以mysql为例&#xff09;&#xff1b;保存数据时已存在就更新&#xff0c;无数据就添加&#xff1b; 二.最终效果…

visual studio设置主题和背景颜色

visual studio2019默认的主题有4种&#xff0c;分别是浅白色、深黑色、蓝色、蓝(额外对比度)&#xff0c;背景颜色默认是纯白色RGB(255,255,255)。字体纯白色看久了&#xff0c;眼睛会感到酸痛、疲劳&#xff0c;建议改成浅白RGB(250,250,250)、豆沙绿RGB(85,123,105)、透明蓝白…

语言模型编码中/英文句子格式详解

文章目录 前言一、Bert的vocab.txt内容查看二、BERT模型转换方法(vocab.txt)三、vocab内容与模型转换对比四、中文编码总结 前言 最近一直在学习多模态大模型相关内容&#xff0c;特别是图像CV与语言LLM模型融合方法&#xff0c;如llama-1.5、blip、meta-transformer、glm等大…

Apache Ant的安装

介绍 Apache Ant是一个Java库和一个 命令行工具&#xff0c;可以用来构建Java应用。Ant提供了许多内置的任务&#xff08;tasks&#xff09;&#xff0c;可以编译、组装、测试、运行Java应用。Ant也可以构建非Java应用&#xff0c;例如C、C应用。 Ant非常灵活&#xff0c;没有…

VScode远程root权限调试

尝试诸多办法无法解决的情况下&#xff0c;允许远程登陆用户直接以root身份登录 编辑sshd_config文件 sudo vim /etc/ssh/sshd_config 激活配置 注释掉PermitRootLogin without-password&#xff0c;即#PermitRootLogin without-password 增加一行&#xff1a;PermitRootLo…

【重拾C语言】十二、C语言程序开发(自顶向下、逐步求精;结构化程序设计原则;程序风格)

目录 前言 12.1 求玉米单产——自顶向下、逐步求精 12.1.1 自顶向下、逐步求精 12.1.2 求玉米单产 12.2 结构化程序设计原则 12.2.1 顺序 12.2.2 选择 12.2.3 循环 12.2.4 模块化 12.3 程序风格 12.3.1 程序风格 12.3.2 行文格式、标识符 12.3.3 注释及其它 前言…

Idea使用技巧——导包优化,新版idea界面取消,界面字体放大缩小

导包优化 on the fly 翻译为立刻 第一个表示&#xff0c;如果导入的包没有冲突&#xff0c;会自动帮你导入。如果输入List 无需手动altenter 第二个表示&#xff0c;没有引用的包&#xff0c;会自动删除。这个对于代码整洁尤其适用。相当于ctrlalto的功能 新版idea的界面取消 …

人机交互中的信息数量与信息质量

在人机交互中&#xff0c;信息数量和信息质量是影响人机交互效果的两个重要因素。信息数量指的是系统向用户提供的信息总量&#xff0c;包括输入信息、反馈信息、展示信息、错误信息等&#xff0c;在合适的情况下越少越好&#xff1b;信息质量则是指信息的准确性、有效性、清晰…

使用图像处理跟踪瞳孔(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

华为李鹏:加速5G商业正循环,拥抱更繁荣的5.5G(5G-A)

2023年10月10日&#xff0c;在华为主办的第十四届全球移动宽带论坛上&#xff0c;华为高级副总裁、运营商BG总裁李鹏面向来自全球的运营商和产业伙伴&#xff0c;提出抓住网络需求和趋势的力量——“面向后天的业务&#xff0c;积极规划明天的网络&#xff0c;加速5G商业正循环…

面试题-React(十二):React中不可变数据的力量

一、不可变数据的概念 不可变数据意味着数据一旦创建&#xff0c;就不能被更改。在React中&#xff0c;每次对数据的修改都会返回一个新的数据副本&#xff0c;而不会改变原始数据。这种方式确保了数据的稳定性和一致性。 二、Props中的不可变数据 在React中&#xff0c;组件…

TensorFlow入门(十六、识别模糊手写图片)

TensorFlow在图像识别方面,提供了多个开源的训练数据集,比如CIFAR-10数据集、FASHION MNIST数据集、MNIST数据集。 CIFAR-10数据集有10个种类,由6万个32x32像素的彩色图像组成,每个类有6千个图像。6万个图像包含5万个训练图像和1万个测试图像。 FASHION MNIST数据集由衣服、鞋子…