Gitlab docker版本安装
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:42 阅读更多 →
c++复习::深入理解多态

c++复习::深入理解多态

一、多态的概念直白来说就是去完成某个事情,不同的对象会呈现出不同的状态价值: 1、举个例子比如说购买高铁票这个行为,如果是普通人就是原价购买,如果是学生的话就是半价购买,如果是军人的话,可以优先走绿…

2026/8/7 8:16:42 阅读更多 →
Fortify SCA代码审计工具:从安装配置到CI/CD集成的完整实战指南

Fortify SCA代码审计工具:从安装配置到CI/CD集成的完整实战指南

1. 项目概述:为什么我们需要专业的代码审计工具?在软件开发的漫长周期里,代码安全一直是个让人头疼又无法回避的问题。我见过太多项目,前期功能迭代飞快,后期却因为层出不穷的安全漏洞而疲于奔命,甚至导致数…

2026/8/7 8:16:42 阅读更多 →

最新新闻

UGNX齿条建模插件(直齿轮)0020版|支持NX平台的齿条参数化建模工具及详细使用指南

UGNX齿条建模插件(直齿轮)0020版|支持NX平台的齿条参数化建模工具及详细使用指南

温馨提示:文末有联系方式 插件简介 本为专为Siemens NX(UGNX)平台开发的齿条建模辅助工具——0020版本,支持快速生成标准直齿齿条模型,大幅提升机械设计效率。 功能特点 插件采用参数驱动逻辑,用户仅需输…

2026/8/7 9:12:08 阅读更多 →
ABAQUS零泊松比蜂窝结构建模插件|准静态压缩仿真一键生成工具

ABAQUS零泊松比蜂窝结构建模插件|准静态压缩仿真一键生成工具

温馨提示:文末有联系方式 插件核心功能概述 本插件专为ABAQUS平台开发,聚焦于零泊松比(Zero Poisson’s Ratio)蜂窝类超材料结构的快速建模与力学分析,显著提升准静态压缩仿真建模效率。 一键式准静态压缩模型构建 无…

2026/8/7 9:12:08 阅读更多 →
【2027最新】基于SpringBoot+Vue的企业级工位管理系统管理系统源码+MyBatis+MySQL

【2027最新】基于SpringBoot+Vue的企业级工位管理系统管理系统源码+MyBatis+MySQL

博主介绍✨ 专业背景 专注Java企业级开发与小程序生态,全网影响力10万开发者,CSDN特邀作者、技术专家、新星计划导师。 🎯 核心服务 📚 毕业设计智库 微信小程序方向:100个前沿选题 Java企业级方向:500个实…

2026/8/7 9:12:08 阅读更多 →
JavaScript valueOf() 方法深度解析:类型转换核心与实战应用

JavaScript valueOf() 方法深度解析:类型转换核心与实战应用

1. 项目概述:为什么我们需要深挖 valueOf() ? 在JavaScript的日常开发中,我们频繁地与各种数据类型打交道:数字相加、字符串拼接、对象比较。表面上看,这一切都由语言引擎自动处理,但当你尝试 console.l…

2026/8/7 9:12:08 阅读更多 →
AI编程助手ClaudeCode:从安装配置到高效工作流全解析

AI编程助手ClaudeCode:从安装配置到高效工作流全解析

1. 项目概述:ClaudeCode是什么,以及为什么你需要它 如果你是一名开发者,最近肯定在各种技术社区和社群里频繁听到“Claudecode”这个词。它不是什么新的编程语言,也不是某个神秘的框架,而是一个正在迅速崛起的AI编程助…

2026/8/7 9:12:08 阅读更多 →
NavTab新标签页插件:打造纯净高效的浏览器首页

NavTab新标签页插件:打造纯净高效的浏览器首页

最近在整理浏览器书签时,发现很多新标签页插件要么功能臃肿、广告繁多,要么自定义程度低、界面杂乱。对于追求效率和纯净体验的开发者来说,一个简洁、高效、无干扰的新标签页至关重要。经过一番搜寻和试用,我发现了一款名为 NavT…

2026/8/7 9:11:07 阅读更多 →

日新闻

为什么scrcpy成为Android投屏的终极解决方案:完整实战指南

为什么scrcpy成为Android投屏的终极解决方案:完整实战指南

为什么scrcpy成为Android投屏的终极解决方案:完整实战指南 【免费下载链接】scrcpy Display and control your Android device 项目地址: https://gitcode.com/GitHub_Trending/sc/scrcpy 想要将Android手机屏幕完美投射到电脑上,享受大屏操作的自…

2026/8/7 0:00:19 阅读更多 →
如何在5分钟内掌握Tom Select:打造现代化表单选择器的终极指南

如何在5分钟内掌握Tom Select:打造现代化表单选择器的终极指南

如何在5分钟内掌握Tom Select:打造现代化表单选择器的终极指南 【免费下载链接】tom-select Tom Select is a lightweight (~16kb gzipped) hybrid of a textbox and select box. Forked from selectize.js to provide a framework agnostic autocomplete widget wi…

2026/8/7 0:00:19 阅读更多 →
5分钟快速上手:NSZ压缩工具终极指南,轻松管理Switch游戏文件

5分钟快速上手:NSZ压缩工具终极指南,轻松管理Switch游戏文件

5分钟快速上手:NSZ压缩工具终极指南,轻松管理Switch游戏文件 【免费下载链接】nsz NSZ - Homebrew compatible NSP/XCI compressor/decompressor 项目地址: https://gitcode.com/gh_mirrors/ns/nsz 你是否在为Nintendo Switch游戏文件占用大量存储…

2026/8/7 0:00:19 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/6 22:02:27 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/6 22:02:27 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/6 22:02:27 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/5 23:28:39 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/6 22:02:28 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/5 23:46:51 阅读更多 →