使用Docker Desktop部署GitLab
1. 环境准备
- 确保Windows 10/11系统支持虚拟化技术(需在BIOS中开启Intel VT-x/AMD-V)
- 内存建议≥8GB,存储空间≥100GB
2. 安装Docker Desktop
- 访问Docker官网下载安装包
- 安装时勾选"Use WSL 2 instead of Hyper-V"(推荐)
- 安装完成后启动Docker,在设置中确保使用Linux容器模式
3. 下载Gitlab镜像
3.1 配置加速
国内从Docker Hub拉取镜像常因网络问题受阻,可配置国内云服务商提供的镜像加速器提升下载速度。
3.1.1 国内加速地址
| https://dockerproxy.com | 第三方代理 |
| http://hub-mirror.c.163.com | 网易云镜像 |
| https://docker.mirrors.sjtug.sjtu.edu.cn | 上海交大镜像 |
| https://docker.m.daocloud.io | DaoCloud镜像 |
| https://docker.nju.edu.cn | 南京大学镜像 |
| https://mirror.baidubce.com | 百度云镜像(需登录控制台) |
| https://ccr.ccs.tencentyun.com | 腾讯云镜像(需登录控制台) |
| https://<your_code>.mirror.aliyuncs.com | 阿里云镜像站(需登录 控制台) |
3.1.2 配置JSON
系统右下角托盘图标内右键菜单选择 Settings,打开配置窗口后左侧导航菜单选择 Docker Daemon。编辑窗口内的JSON串,填写下方加速器地址:
{"builder": {"gc": {"defaultKeepStorage": "20GB","enabled": true}},"experimental": false,/* 镜像加速器列表 */"registry-mirrors": ["https://dockerproxy.com","http://hub-mirror.c.163.com","https://docker.mirrors.sjtug.sjtu.edu.cn","https://docker.m.daocloud.io","https://docker.nju.edu.cn"]
}
docker info 命令确认是否设置成功
3.2 拉取镜像
搜索框搜索"Gitlab”,点击Pull 拉取镜像 (可能会因为网络问题搜不到,可以直接用命令拉取)
Apple Silicon 选择: yrzr/gitlab-ce-arm64v8

拉取成功:

3.3 GitLab镜像的区别和用途
| alpinelinux/gitlab | 基于Alpine Linux的GitLab镜像,Alpine Linux是一个轻量级的Linux发行版,通常用于需要最小化镜像大小的场景。 适用于需要轻量级GitLab实例的环境。 |
| okteto/gitlab | Okteto是一个用于开发Kubernetes应用的平台,这个镜像可能是为了在Kubernetes环境中部署GitLab而优化的。适用于需要在Kubernetes上部署GitLab的开发人员。 |
| vulhub/gitlab | Vulhub是一个提供漏洞环境的开源项目,这个镜像可能包含了一些已知漏洞的GitLab版本,用于安全研究或渗透测试。适用于安全研究人员或渗透测试人员。 |
| gitlab/gitlab-runner | GitLab Runner是一个开源项目,用于运行GitLab CI/CD管道中的作业。 适用于需要执行CI/CD任务的环境。 |
| gitlab/gitlab-ce | GitLab的社区版,是免费的开源版本,包含了GitLab的核心功能。适用于大多数需要GitLab功能的用户。 |
| gitlab/gitlab-runner-helper | 这个镜像可能是为了辅助GitLab Runner的运行而设计的,提供了一些额外的工具或脚本。 适用于需要GitLab Runner高级功能的用户。 |
| mcp/gitlab | 这个镜像可能由某个特定的组织或项目维护,用于特定的部署或配置需求。适用于需要特定配置或定制的GitLab实例。 |
| gitlab/gitlab-ee | GitLab的企业版,包含了额外的企业级功能,如高级安全、合规性和支持。适用于需要高级功能和企业级支持的大型组织。 |
3.2 命令行拉取
docker pull gitlab/gitlab-ce:17.9.0-ce.0
4. 容器配置

4.1 Optional settings(可选设置)
-
Container name(容器名称):可以填写一个有意义的名称,以便于识别和管理。如果不填写,Docker 会自动生成一个随机名称。
4.2 Ports(端口)
-
Host port(主机端口):这些端口用于将容器内部的服务映射到主机上,使得可以从主机访问容器内部的服务。
-
22/tcp:通常用于 SSH 访问。如果你不需要通过 SSH 访问 GitLab,可以不映射这个端口,或者映射到一个不常用的端口上。 -
443/tcp:通常用于 HTTPS 访问。建议映射到主机的 443 端口,这样可以通过https://localhost访问 GitLab。 -
80/tcp:通常用于 HTTP 访问。建议映射到主机的 80 端口,这样可以通过http://localhost访问 GitLab。
-
4.3 Volumes(卷)
-
Host path(主机路径):指定主机上的一个目录,用于存储 GitLab 的数据和配置。
-
Container path:指定容器内部的路径,通常是
/var/opt/gitlab,这是 GitLab 默认的数据和配置存储路径。
4.4 Environment variables(环境变量)
-
Variable(变量):可以设置一些环境变量来配置 GitLab 的行为,例如:
-
GITLAB_OMNIBUS_CONFIG:用于设置 GitLab 的配置,可以是一个包含配置的 YAML 字符串。 -
GITLAB_ROOT_PASSWORD:设置 GitLab 的初始管理员密码。
-
4.5 示例配置
假设你希望将 GitLab 的数据存储在主机的 C:\gitlab-data 目录下,并且希望使用默认的 80 和 443 端口访问 GitLab,配置如下:(输入0自动配置端口)
-
Container name:
my-gitlab -
Ports:
-
Host port:80,Container port:80 -
Host port:443,Container port:443
-
-
Volumes:
-
Host path:C:\gitlab-data,Container path:/var/opt/gitlab
-
-
Environment variables:
-
Variable:GITLAB_ROOT_PASSWORD,Value:your_password
-
填写完毕后,点击 Run 按钮启动容器。等待初始化完成即可使用。
相关文章:
使用Docker Desktop部署GitLab
1. 环境准备 确保Windows 10/11系统支持虚拟化技术(需在BIOS中开启Intel VT-x/AMD-V)内存建议≥8GB,存储空间≥100GB 2. 安装Docker Desktop 访问Docker官网下载安装包安装时勾选"Use WSL 2 instead of Hyper-V"(推荐…...
经典算法 统计数字问题(常数时间解决)
统计数字问题 一本书的页码从自然数1 开始顺序编码直到自然数n。书的页码按照通常的习惯编排,每个页码都不含多余的前导数字0。例如,第6 页用数字6 表示,而不是06 或006 等。数字计数问题要求对给定书的总页码n,计算出书的全部页…...
基于yolov8的糖尿病视网膜病变严重程度检测系统python源码+pytorch模型+评估指标曲线+精美GUI界面
【算法介绍】 基于YOLOv8的糖尿病视网膜病变严重程度检测系统 基于YOLOv8的糖尿病视网膜病变严重程度检测系统是一款利用深度学习技术,专为糖尿病视网膜病变早期诊断设计的智能辅助工具。该系统采用YOLOv8目标检测模型,结合经过标注和处理的医学影像数…...
AcWing 5933:爬楼梯 ← 递归 / 递推 / 高精度
【题目来源】 https://www.acwing.com/problem/content/5936/ 【题目描述】 树老师爬楼梯,他可以每次走 1 级或者 2 级,输入楼梯的级数,求不同的走法数。 例如:楼梯一共有 3 级,他可以每次都走一级,或者第…...
c++ 中的容器 vector 与数组 array
当初自学 c 与 c 语言时,一直被指针弄的云里雾里。后来 c 中引入了容器,避免了指针。但是,一些教材把容器的章节放在书本中后面的章节,太不合理。应该把这种方便的功能放到前面,这样一些初学者就不会遇到太多生硬难懂的…...
我的世界1.20.1forge模组开发进阶物品(7)——具有动画、3D立体效果的物品
基础的物品大家都会做了对吧?包括武器的释放技能,这次来点难度,让物品的贴图呈现动画效果和扔出后显示3D立体效果,这个3D立体效果需要先学习blockbench,学习如何制作贴图。 Blockbench Blockbench是一个用于创建和编辑三维模型的免费软件,特别适用于Minecraft模型的设计…...
ubuntu22.04安装docker engine
在Ubuntu 22.04上安装Docker Engine可以通过以下步骤完成: 更新系统包索引: sudo apt update安装必要的依赖包: 这些包允许apt通过HTTPS使用仓库。 sudo apt install -y apt-transport-https ca-certificates curl software-properties-commo…...
性能测试测试策略制定|知名软件测评机构经验分享
随着互联网产品的普及,产品面对的用户量级也越来越大,能抗住指数级增长的瞬间访问量以及交易量是保障购物体验是否顺畅的至关重要的一环,而我们的性能测试恰恰也是为此而存在的。 性能测试是什么呢?性能测试要怎么测呢?…...
Let‘s Encrypt免费证书的应用示例
文章目录 前言证书申请证书介绍cert.pemchain.pemfullchain.pemprivkey.pem 使用步骤搭建简易demo应用新建nginx配置文件测试SSL是否生效 总结 前言 最近在搞苹果应用上架的问题,据说用HTTP会被拒,但貌似不绝对,2017年苹果曾发公告说必须要求…...
threeJS——安装以及三要素
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、安装二、三要素1.场景1.1创建场景1.2向场景添加元素1.3场景属性 2.相机2.1相机特点2.2正交相机2.3空间布局2.4小姐操作 3.渲染器 总结 前言 本章简单介绍前…...
【Electron入门】进程环境和隔离
目录 一、主进程和渲染进程 1、主进程(main) 2、渲染进程(renderer) 二、预加载脚本 三、沙盒化 为单个进程禁用沙盒 全局启用沙盒 四、环境访问权限控制:contextIsolation和nodeIntegration 1、contextIsola…...
提示词框架介绍和使用场景
框架介绍 CO-STAR 框架 定义 CO-STAR是六个关键要素的缩写,每个字母代表一个特定的部分: Context(上下文) :提供任务的背景信息或环境 当前任务是为一家科技公司撰写一篇关于人工智能发展趋势的文章/ 需要为一场面向高中生的科普讲座准备内容Objective(目标) :明确任…...
牛客NC288803 和+和
import java.util.Comparator;import java.util.PriorityQueue;import java.util.Scanner;public class Main {public static void main(String[] args) {// 创建Scanner对象用于读取输入Scanner sc new Scanner(System.in);// 读取两个整数n和m,分别表示数组的…...
AI学习第七天
数组:基础概念、存储特性及力扣实战应用 在计算机科学与数学的广袤领域中,数组作为一种极为重要的数据结构,发挥着不可或缺的作用。它就像一个有序的 “数据仓库”,能高效地存储和管理大量数据。接下来,让我们深入了解…...
【uniapp原生】实时记录接口请求延迟,并生成写入文件到安卓设备
在开发实时数据监控应用时,记录接口请求的延迟对于性能分析和用户体验优化至关重要。本文将基于 UniApp 框架,介绍如何实现一个实时记录接口请求延迟的功能,并深入解析相关代码的实现细节。 前期准备&必要的理解 1. 功能概述 该功能的…...
XR应用测试:探索虚拟与现实的边界
引言 随着XR(扩展现实,Extended Reality)技术的快速发展,VR(虚拟现实)、AR(增强现实)和MR(混合现实)应用逐渐渗透到游戏、教育、医疗、工业等多个领域。对于…...
算法之算法思想
算法思想 ♥算法思想知识体系详解♥ | Java 全栈知识体系 经典算法思想总结 经典算法思想总结(含LeetCode题目推荐) | JavaGuide...
mac电脑中使用无线诊断.app查看连接的Wi-Fi带宽
问题 需要检查连接到的Wi-Fi的AP硬件支持的带宽。 步骤 1.按住 Option 键,然后点击屏幕顶部的Wi-Fi图标;2.从下拉菜单中选择 “打开无线诊断”(Open Wireless Diagnostics);3.你可能会看到一个提示窗口,…...
物理竞赛中的线性代数
线性代数 1 行列式 1.1 n n n 阶行列式 定义 1.1.1:称以下的式子为一个 n n n 阶行列式: ∣ A ∣ ∣ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋱ ⋮ a n 1 a n 2 ⋯ a n n ∣ \begin{vmatrix}\mathbf A\end{vmatrix} \begin{vmatrix} a_{11…...
FFmpeg-chapter3-读取视频流(原理篇)
ffmpeg网站:About FFmpeg 1 库介绍 (1)libavutil是一个包含简化编程函数的库,包括随机数生成器、数据结构、数学例程、核心多媒体实用程序等等。 (2)libavcodec是一个包含音频/视频编解码器的解码器和编…...
程序员味觉图谱:咖啡因浓度与bug数量的关联
软件测试中的“化学搭档”在软件测试工程师的日常工具箱中,除了脚本语言、自动化框架和监控工具,还有一项不可或缺的非技术性资产——咖啡因。从浓缩咖啡到功能饮料,这种生物碱早已超越简单的提神需求,成为了一种独特的“职业味觉…...
ELF1开发板UART实战:RS485/RS232通信测试与常见问题排查
ELF1开发板UART实战:RS485/RS232通信测试与常见问题排查 在嵌入式系统开发中,UART通信是最基础也是最常用的外设接口之一。ELF1开发板作为一款面向工业应用的嵌入式平台,提供了多路UART接口,其中部分接口通过RS485和RS232电平转换…...
OpenClaw知识管理:千问3.5-9B构建个人知识图谱
OpenClaw知识管理:千问3.5-9B构建个人知识图谱 1. 为什么需要AI驱动的知识管理 作为一个长期与信息过载搏斗的技术从业者,我书架上有37本未拆封的技术书籍,浏览器收藏夹里堆积着600个"稍后阅读"的网页,笔记软件中散落…...
颠覆式闲鱼智能客服系统:家居卖家7×24小时值守零门槛解决方案
颠覆式闲鱼智能客服系统:家居卖家724小时值守零门槛解决方案 【免费下载链接】XianyuAutoAgent 智能闲鱼客服机器人系统:专为闲鱼平台打造的AI值守解决方案,实现闲鱼平台724小时自动化值守,支持多专家协同决策、智能议价和上下文感…...
npx vs npm run:深度对比与最佳实践指南
npx vs npm run:深度对比与最佳实践指南 【免费下载链接】npx execute npm package binaries (moved) 项目地址: https://gitcode.com/gh_mirrors/np/npx 在Node.js生态系统中,npx和npm run是两个至关重要的命令行工具,它们都能执行np…...
OpenClaw+千问3.5-9B:个人数字资产管理自动化系统
OpenClaw千问3.5-9B:个人数字资产管理自动化系统 1. 为什么需要个人数字资产管理 我的电脑桌面常年堆满截图、临时下载的PDF和来路不明的压缩包。上周找一份三个月前的会议记录时,不得不在十几个名为"新建文件夹(1)"的目录里大海捞针。这种混…...
OpenClaw+Qwen3-14b_int4_awq:自动化文档生成工具
OpenClawQwen3-14b_int4_awq:自动化文档生成工具 1. 为什么需要自动化文档生成 作为一名技术写作者,我经常面临一个困境:代码写完了,文档却迟迟无法完成。每次面对空白的Markdown文件,总有种无从下笔的感觉。更糟糕的…...
解锁毕业论文新姿势:书匠策AI,你的学术写作超级助手!
在学术的浩瀚海洋中,毕业论文无疑是每位学子扬帆远航前必须跨越的一道重要关卡。它不仅是对你多年学习成果的总结,更是通往未来学术或职业道路的一块重要敲门砖。然而,面对堆积如山的资料、错综复杂的逻辑结构,以及那令人头疼的格…...
OpenClaw问题排查大全:百川2-13B-4bits量化模型接入常见错误
OpenClaw问题排查大全:百川2-13B-4bits量化模型接入常见错误 1. 问题排查前的准备工作 在开始排查OpenClaw与百川2-13B-4bits量化模型对接的问题前,我们需要先确认几个基础环境要素。这些准备工作往往能帮我们快速排除50%以上的低级错误。 首先检查Op…...
查重踩坑血泪史:免费软件、PaPerPass、AIGC率、淘宝旗舰店
规避雷区 最近为了查重,折腾得心力交瘁。多方打听、多次数据对比之后,总结了一些“花钱买教训”的经验,写成几个点分享出来,希望能帮大家少走弯路。千万避雷某多多。 1️⃣ 免费软件的“Pass查重”低于10%还算靠谱 经过多个数据…...
