Gitlab docker版本安装 发布时间:2026/8/7 8:16:40 docker 新建Gitlab容器并配置运行下载离线镜像在有网的电脑上拉取镜像#在有网的电脑上拉取镜像dockerpull gitlab/gitlab-ce:19.2.0-ce.0#打包成压缩包dockersave-ogitlab-ce-19.2.0.tar gitlab/gitlab-ce:19.2.0-ce.0#压缩包传到另一台离线电脑将其导入dockerload-igitlab-ce-19.2.0.tar创建镜像前准备端口Gitlab需要开放80、443、22端口80http默认管理页面需要映射到主机的7777端口443https默认管理页面端口需要映射到主机的7778端口22使用ssh方式进行clone、push如gitgitlab.example.com:group/repo.git走的端口需要映射到7779端口目录挂载/etc/gitlab 配置文件(包含SSL证书/var/log/gitlab 日志文件/var/opt/gitlab 数据持久化目录统一挂载到/container_data/gitlab的config log data目录下防火墙配置、创建挂载目录、初始化容器并挂载#!/bin/bash#宿主机放行防火墙端口firewall-cmd--permanent--add-port7777/tcp firewall-cmd--permanent--add-port7778/tcp firewall-cmd--permanent--add-port7779/tcp firewall-cmd--reload#验证firewall-cmd --list-ports#创建挂载目录mkdir-p/container_data/gitlab/{config,logs,data}#创建虚拟机dockerrun-d\--namegitlab\--restartalways\-p7777:80\-p7778:443\-p7779:22\-v/container_data/gitlab/config:/etc/gitlab\-v/container_data/gitlab/logs:/var/log/gitlab\-v/container_data/gitlab/data:/var/opt/gitlab\--shm-size 256m\gitlab/gitlab-ce:19.2.0-ce.0等待几分钟Gitlab初始化获取初始root密码可以进容器拿也可以在挂载目录拿#进容器dockerexec-itgitlabgrepPassword:/etc/gitlab/initial_root_password#从挂载目录grepPassword:/container_data/gitlab/config/initial_root_password启动后可以通过7777端口访问到管理界面但推送仓库的地址依然没变a18477969498为容器名为容器名需要更改需要进入配置文件配置Gitlab配置Gitlabcat/container_data/gitlab/config/gitlab.rbEOF #设置默认http管理端口仓库配置页面显示的那个 external_url http://10.12.3.161:7777 #注意这里nginx默认监听的端口是80不是7777 nginx[listen_port] 80 #设置默认https管理端口和证书 #设置7779 #不写gitlab_ssh_host也可以它会自动从external_url获取到161地址 #gitlab_rails[gitlab_ssh_host] 10.12.3.161 gitlab_rails[gitlab_shell_ssh_port] 7779 gitlab_rails[time_zone] Asia/Shanghai EOF#如果是在物理机部署需要recongigure但是docker部署时直接重启容器就行#docker exec -it gitlab gitlab-ctl reconfigure#修改配置后直接重启容器它会自动重新配置dockerrestart gitlab此时Gitlab部署已经完成测试测试push代码是否成功#在gitlab新建一个项目ssh推送链接 ssh://git10.12.3.161:7779/my_group1/my_project2.git#测试ssh push代码gitinittouch1.txtgitadd.gitcommit-mfirst commitgitremoteaddorigin ssh://git10.12.3.161:7779/my_group1/my_project2.gitgitpush origin master#测试http push212gitremote set-url origin http://10.12.3.161:7777/my_group1/my_project2.gitgitpush origin master#需要输入gitlab的账号密码测试克隆代码是否成功#ssh方式 git clone ssh://git10.12.3.161:7779/my_group1/my_project2.git #http方式 git clone http://10.12.3.161:7777/my_group1/my_project2.gitgit remote -v origin ssh://git10.12.3.161:7779/my_group1/my_project2.git (fetch) origin ssh://git10.12.3.161:7779/my_group1/my_project2.git (push)可选SSL证书配置1.生成自签名SSL证书仅测试用#证书放在容器的/etc/gitlab/ssl目录下需要创建ssl文件夹#映射过来是/container_data/gitlab/config/ssl#1.创建目录存储私钥和公钥分开private下存放私钥其他存放在公开mkdir-p/container_data/gitlab/config/ssl/{private,certs}#生成私钥输出是nginx-selfsigned.key私钥文件openssl genpkey-algorithmRSA-out/container_data/gitlab/config/ssl/private/nginx-selfsigned.key-pkeyoptrsa_keygen_bits:2048#生成CSR签名请求输出是nginx-selfsigned.csr公钥openssl req-new-key/container_data/gitlab/config/ssl/private/nginx-selfsigned.key-out/container_data/gitlab/config/ssl/certs/nginx-selfsigned.csr#Common Name (eg, your name or your servers hostname) []:gitlab.example.com其他不填#自签名生成证书过期365天输出是nginx-selfsigned.crt证书openssl x509-req-days365-in/container_data/gitlab/config/ssl/certs/nginx-selfsigned.csr-signkey/container_data/gitlab/config/ssl/private/nginx-selfsigned.key-out/container_data/gitlab/config/ssl/certs/nginx-selfsigned.crtkey 放在private文件夹下csr和crt放在certs文件夹下2.更改Gitlab配置vim/container_data/gitlab/config/gitlab.rb#改为从http改为https域名external_urlhttps://gitlab.example.com:7778nginx[enable]truenginx[client_max_body_size]2048m#80重定向到443nginx[redirect_http_to_https]true#指定crt和key的位置注意是docker容器内的绝对路径nginx[ssl_certificate]/etc/gitlab/ssl/certs/nginx-selfsigned.crtnginx[ssl_certificate_key]/etc/gitlab/ssl/private/nginx-selfsigned.key改后配置#设置默认http管理端口#external_url http://10.12.3.161:7777#7778映射到443external_urlhttps://gitlab.example.com:7778#注意这里nginx默认监听的端口是80不是7777nginx[listen_port]80nginx[https_port]443#设置默认https管理端口和证书nginx[enable]truenginx[client_max_body_size]2048m#80重定向到443nginx[redirect_http_to_https]true#指定crt和key的位置注意是docker容器内的绝对路径nginx[ssl_certificate]/etc/gitlab/ssl/certs/nginx-selfsigned.crtnginx[ssl_certificate_key]/etc/gitlab/ssl/private/nginx-selfsigned.key#设置7779#gitlab_rails[gitlab_ssh_host] 10.12.3.161gitlab_rails[gitlab_shell_ssh_port]7779gitlab_rails[time_zone]Asia/Shanghai配置host文件windows C:\Windows\System32\drivers\etc 下host文件10.12.3.161 gitlab.example.com 相关新闻 高职院校增设低空相关专业,低空领域产教融合提速 全国多所高职院校、应用型本科院校陆续开设无人机应用、低空技术相关专业,持续扩大低空领域人才培养规模。产业端飞行操作人员供给持续增加,但能够胜任设备装调、故障维修的技术人员依旧存在较大缺口。 一、低空专业大量开设,人才结构存在明显… 2026/8/7 8:16:40 c++复习::深入理解多态 一、多态的概念直白来说就是去完成某个事情,不同的对象会呈现出不同的状态价值: 1、举个例子比如说购买高铁票这个行为,如果是普通人就是原价购买,如果是学生的话就是半价购买,如果是军人的话,可以优先走绿… 2026/8/7 8:16:40 Fortify SCA代码审计工具:从安装配置到CI/CD集成的完整实战指南 1. 项目概述:为什么我们需要专业的代码审计工具?在软件开发的漫长周期里,代码安全一直是个让人头疼又无法回避的问题。我见过太多项目,前期功能迭代飞快,后期却因为层出不穷的安全漏洞而疲于奔命,甚至导致数… 2026/8/7 8:16:40 最新新闻 函数递归**和AI对数学的影响 函数递归 1概念:函数在其内部调用自身的过程称为递归(递归必须依赖于函数实现)。这个概念可能有些抽象,下面通过一个具体例子来理解: #include <stdio.h>void Print(int n) {if (n > 9){Print(n / 10); // 递… 2026/8/7 9:16:42 微信数据抓取工具ClawBot配置与使用指南 1. 为什么需要微信ClawBot? 微信作为国内最大的社交平台之一,其数据价值不言而喻。但微信官方并未提供完整的数据接口,这使得许多开发者需要寻找替代方案来获取微信数据。ClawBot就是这样一款工具,它能够帮助开发者高效地抓取微信… 2026/8/7 9:16:42 Vmix足球比分插件|专业直播计分软件|支持字幕条实时显示 温馨提示:文末有联系方式 【产品定位】专业级Vmix足球比分直播插件 本插件是专为体育赛事直播场景深度定制的轻量高效工具,适用于Vmix 25及以上版本,完美替代传统UTC通用控制器,操作更直观、响应更精准,助力足球直播实… 2026/8/7 9:16:42 线路圆角处理插件:支持缓和曲线计算与里程、曲线要素、交点及ZY/QZ/YZ点智能标注|线路设计工程师首选工具 温馨提示:文末有联系方式 插件核心功能亮点 本线路圆角处理插件深度适配道路、铁路等线性工程设计场景,内置高精度几何算法,可一键完成复杂线路导圆角操作,并严格遵循《公路路线设计规范》中关于缓和曲线的设置要求。 缓和曲线专… 2026/8/7 9:16:42 Conda环境管理与Python依赖控制实战指南 1. Conda命令完全指南:从入门到高阶管理 如果你正在使用Python进行数据分析、机器学习或科学计算,conda绝对是你工具箱中不可或缺的利器。作为一个跨平台的包管理和环境管理工具,conda能够帮你解决Python生态中最头疼的依赖问题。我在处理多个… 2026/8/7 9:16:42 SQL元组比较:高效多列查询与分页优化技巧 1. 元组比较:被忽视的SQL高级技巧第一次看到(a, b) > (x, y)这种写法时,我正review同事的SQL代码。当时下意识想纠正这个"语法错误",直到执行结果完全符合预期才意识到——原来SQL标准早就支持元组比较!这种写法在Po… 2026/8/7 9:11:42 日新闻 “Quality Control(质量控制)”在软件工程中通常指通过一系列活动确保软件产品符合预定的质量标准和用户需求 “Quality Control(质量控制)”在软件工程中通常指通过一系列活动确保软件产品符合预定的质量标准和用户需求。而“软件测试”是质量控制的关键手段之一,属于QC范畴下的具体实践,其目标是发现缺陷、验证功能正确性、评估软件质量属… 2026/8/7 0:01:21 调度算法(Scheduling Algorithm)是操作系统内核中用于决定哪个进程或线程在何时获得CPU资源执行的核心机制 调度算法(Scheduling Algorithm)是操作系统内核中用于决定哪个进程或线程在何时获得CPU资源执行的核心机制。其目标是在多任务环境中实现公平性、高效性、响应性与吞吐量的平衡。常见的调度算法包括: 先来先服务(FCFS)… 2026/8/7 0:01:21 Cisco IOS XE 曝多个高危安全漏洞,企业网络设备面临远程攻击风险 最近思科发布了一则让不少网安从业者捏把汗的安全公告。旗下广泛部署的 Cisco IOS XE 软件被挖出多个严重漏洞,其中最狠的一个拿到了 CVSS 9.8 的满分级评分,几乎触顶。对于依赖思科设备支撑核心业务的企业来说,这绝不是可以拖到下季度再处理… 2026/8/7 0:01:21 周新闻 ncmdumpGUI:一键解锁网易云音乐ncm文件的终极解决方案 ncmdumpGUI:一键解锁网易云音乐ncm文件的终极解决方案 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾经从网易云音乐下载了心爱的歌曲&am… 2026/8/6 10:11:44 分布式配置中心选型实战:Nacos与Consul在创业场景下的对比 分布式配置中心选型实战:Nacos与Consul在创业场景下的对比工程导读:本文深入讨论 分布式配置中心选型实战:Nacos与Consul在创业场景下的对比 在生产工程实践中的核心落地方案。基于 分布式架构与微服务设计 视角,剖析实际痛点、架… 2026/8/7 3:47:00 MoneyPrinterPlus实战指南:AI视频批量生成与自动化发布完整解决方案 MoneyPrinterPlus实战指南:AI视频批量生成与自动化发布完整解决方案 【免费下载链接】MoneyPrinterPlus AI一键批量生成各类短视频,自动批量混剪短视频,自动把视频发布到抖音,快手,小红书,视频号上,赚钱从来没有这么容易过! 支持本地语音模型chatTTS,fasterwhisper,… 2026/8/7 3:47:06 月新闻 【YOLOv11模型改进系列】08 数据增强的终极形态:用AutoAugment让YOLOv11自己学会“什么数据最有用” 08 数据增强的终极形态:用AutoAugment让YOLOv11自己学会“什么数据最有用” 老伙计,咖啡准备好了吗?上篇我们聊了Mosaic+MixUp的“混乱美学”,你肯定已经体会到,手动调数据增强策略就像给模型当保姆——每换一个数据集就要重新试一遍参数。 上周有个做工业质检的朋友找我… 2026/8/7 3:46:34 AI 智能电动窗帘电机高集成、低功耗 MOSFET 精准选型方案 随着 AIoT 与智能家居深度融合,智能电动窗帘电机对功率 MOSFET 提出新要求:微型化、高效率、逻辑电平驱动及静音运行。微碧半导体(VBsemi)基于先进的 Trench 和 SGT 工艺,为您提供覆盖 H桥驱动、电源管理及电机控制的完… 2026/8/7 3:46:40 AI 智能电动窗帘电机智能功率 MOSFET 完整选型方案 随着 AI 技术在智能家居中的普及(如语音控制、光线感应、场景联动),电动窗帘电机对功率 MOSFET 提出更高要求:高效率、低噪音、高集成度。微碧半导体(VBsemi)基于 SGT 及 Trench 工艺,为您提供覆… 2026/8/6 6:12:06
高职院校增设低空相关专业,低空领域产教融合提速 全国多所高职院校、应用型本科院校陆续开设无人机应用、低空技术相关专业,持续扩大低空领域人才培养规模。产业端飞行操作人员供给持续增加,但能够胜任设备装调、故障维修的技术人员依旧存在较大缺口。 一、低空专业大量开设,人才结构存在明显… 2026/8/7 8:16:40
c++复习::深入理解多态 一、多态的概念直白来说就是去完成某个事情,不同的对象会呈现出不同的状态价值: 1、举个例子比如说购买高铁票这个行为,如果是普通人就是原价购买,如果是学生的话就是半价购买,如果是军人的话,可以优先走绿… 2026/8/7 8:16:40
Fortify SCA代码审计工具:从安装配置到CI/CD集成的完整实战指南 1. 项目概述:为什么我们需要专业的代码审计工具?在软件开发的漫长周期里,代码安全一直是个让人头疼又无法回避的问题。我见过太多项目,前期功能迭代飞快,后期却因为层出不穷的安全漏洞而疲于奔命,甚至导致数… 2026/8/7 8:16:40
函数递归**和AI对数学的影响 函数递归 1概念:函数在其内部调用自身的过程称为递归(递归必须依赖于函数实现)。这个概念可能有些抽象,下面通过一个具体例子来理解: #include <stdio.h>void Print(int n) {if (n > 9){Print(n / 10); // 递… 2026/8/7 9:16:42
微信数据抓取工具ClawBot配置与使用指南 1. 为什么需要微信ClawBot? 微信作为国内最大的社交平台之一,其数据价值不言而喻。但微信官方并未提供完整的数据接口,这使得许多开发者需要寻找替代方案来获取微信数据。ClawBot就是这样一款工具,它能够帮助开发者高效地抓取微信… 2026/8/7 9:16:42
Vmix足球比分插件|专业直播计分软件|支持字幕条实时显示 温馨提示:文末有联系方式 【产品定位】专业级Vmix足球比分直播插件 本插件是专为体育赛事直播场景深度定制的轻量高效工具,适用于Vmix 25及以上版本,完美替代传统UTC通用控制器,操作更直观、响应更精准,助力足球直播实… 2026/8/7 9:16:42
线路圆角处理插件:支持缓和曲线计算与里程、曲线要素、交点及ZY/QZ/YZ点智能标注|线路设计工程师首选工具 温馨提示:文末有联系方式 插件核心功能亮点 本线路圆角处理插件深度适配道路、铁路等线性工程设计场景,内置高精度几何算法,可一键完成复杂线路导圆角操作,并严格遵循《公路路线设计规范》中关于缓和曲线的设置要求。 缓和曲线专… 2026/8/7 9:16:42
Conda环境管理与Python依赖控制实战指南 1. Conda命令完全指南:从入门到高阶管理 如果你正在使用Python进行数据分析、机器学习或科学计算,conda绝对是你工具箱中不可或缺的利器。作为一个跨平台的包管理和环境管理工具,conda能够帮你解决Python生态中最头疼的依赖问题。我在处理多个… 2026/8/7 9:16:42
SQL元组比较:高效多列查询与分页优化技巧 1. 元组比较:被忽视的SQL高级技巧第一次看到(a, b) > (x, y)这种写法时,我正review同事的SQL代码。当时下意识想纠正这个"语法错误",直到执行结果完全符合预期才意识到——原来SQL标准早就支持元组比较!这种写法在Po… 2026/8/7 9:11:42
“Quality Control(质量控制)”在软件工程中通常指通过一系列活动确保软件产品符合预定的质量标准和用户需求 “Quality Control(质量控制)”在软件工程中通常指通过一系列活动确保软件产品符合预定的质量标准和用户需求。而“软件测试”是质量控制的关键手段之一,属于QC范畴下的具体实践,其目标是发现缺陷、验证功能正确性、评估软件质量属… 2026/8/7 0:01:21
调度算法(Scheduling Algorithm)是操作系统内核中用于决定哪个进程或线程在何时获得CPU资源执行的核心机制 调度算法(Scheduling Algorithm)是操作系统内核中用于决定哪个进程或线程在何时获得CPU资源执行的核心机制。其目标是在多任务环境中实现公平性、高效性、响应性与吞吐量的平衡。常见的调度算法包括: 先来先服务(FCFS)… 2026/8/7 0:01:21
Cisco IOS XE 曝多个高危安全漏洞,企业网络设备面临远程攻击风险 最近思科发布了一则让不少网安从业者捏把汗的安全公告。旗下广泛部署的 Cisco IOS XE 软件被挖出多个严重漏洞,其中最狠的一个拿到了 CVSS 9.8 的满分级评分,几乎触顶。对于依赖思科设备支撑核心业务的企业来说,这绝不是可以拖到下季度再处理… 2026/8/7 0:01:21
ncmdumpGUI:一键解锁网易云音乐ncm文件的终极解决方案 ncmdumpGUI:一键解锁网易云音乐ncm文件的终极解决方案 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾经从网易云音乐下载了心爱的歌曲&am… 2026/8/6 10:11:44
分布式配置中心选型实战:Nacos与Consul在创业场景下的对比 分布式配置中心选型实战:Nacos与Consul在创业场景下的对比工程导读:本文深入讨论 分布式配置中心选型实战:Nacos与Consul在创业场景下的对比 在生产工程实践中的核心落地方案。基于 分布式架构与微服务设计 视角,剖析实际痛点、架… 2026/8/7 3:47:00
MoneyPrinterPlus实战指南:AI视频批量生成与自动化发布完整解决方案 MoneyPrinterPlus实战指南:AI视频批量生成与自动化发布完整解决方案 【免费下载链接】MoneyPrinterPlus AI一键批量生成各类短视频,自动批量混剪短视频,自动把视频发布到抖音,快手,小红书,视频号上,赚钱从来没有这么容易过! 支持本地语音模型chatTTS,fasterwhisper,… 2026/8/7 3:47:06
【YOLOv11模型改进系列】08 数据增强的终极形态:用AutoAugment让YOLOv11自己学会“什么数据最有用” 08 数据增强的终极形态:用AutoAugment让YOLOv11自己学会“什么数据最有用” 老伙计,咖啡准备好了吗?上篇我们聊了Mosaic+MixUp的“混乱美学”,你肯定已经体会到,手动调数据增强策略就像给模型当保姆——每换一个数据集就要重新试一遍参数。 上周有个做工业质检的朋友找我… 2026/8/7 3:46:34
AI 智能电动窗帘电机高集成、低功耗 MOSFET 精准选型方案 随着 AIoT 与智能家居深度融合,智能电动窗帘电机对功率 MOSFET 提出新要求:微型化、高效率、逻辑电平驱动及静音运行。微碧半导体(VBsemi)基于先进的 Trench 和 SGT 工艺,为您提供覆盖 H桥驱动、电源管理及电机控制的完… 2026/8/7 3:46:40
AI 智能电动窗帘电机智能功率 MOSFET 完整选型方案 随着 AI 技术在智能家居中的普及(如语音控制、光线感应、场景联动),电动窗帘电机对功率 MOSFET 提出更高要求:高效率、低噪音、高集成度。微碧半导体(VBsemi)基于 SGT 及 Trench 工艺,为您提供覆… 2026/8/6 6:12:06