使用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是一个包含音频/视频编解码器的解码器和编…...
QM/MM与ML/MM模拟对比:从呋喃光化学弛豫看机器学习力场结构保真度
1. 项目概述:从呋喃的光化学弛豫看QM/MM与ML/MM模拟的实战差异在计算化学和分子模拟领域,我们常常需要回答一个核心问题:一个分子在吸收光能量后,究竟会经历怎样的微观旅程?这个过程充满了不确定性,电子在几…...
《AI智能体(Agent)深度解析:2026年从被动对话到主动自主工作的技术革命》
近两年大模型完成了从“参数堆叠”到“能力进化”的跨越,而2026年AI行业的核心变革趋势,早已不再是更大参数的模型比拼,而是AI智能体(Agent)的规模化落地。传统AI对话模式,本质是被动响应式交互,…...
2026免费在线去水印保姆级教程!不用下载,3秒去除,一看就会
你是不是也遇到过这种抓狂时刻?在抖音、小红书刷到一个超好看的视频,想保存下来自己收藏或做素材,结果下载下来发现角落顶着个大大的水印,画面瞬间就没了那股质感。更气的是,找了一堆号称“免费去水印”的软件…...
贝叶斯网络中条件独立性的判断 CS188 Note13 学习笔记
更好的阅读体验 D-Separation D-separation 是贝叶斯网络中的一个概念,用于通过图结构DAG随机变量之间的条件独立性 首先需要回顾一下的是:在图中,只要给定了某个节点的所有父节点,那么该节点就与其所有祖先节点在逻辑上是相互独…...
2026保姆级教程:免费一键去图片水印的App有哪些?这几种方法一看就会
你是不是也遇到过这种抓狂的时刻?好不容易在网上找到一张绝美壁纸或实用素材,保存下来一看,角落那个水印直接毁掉了整张图的氛围。更气人的是,你尝试用相册自带的编辑功能去涂抹,结果越涂越糊,最后只能无奈…...
eClinMed 中国人民解放军总医院第五医学中心介入超声科:基于超声的可解释性机器学习模型用于≤3cm肝细胞癌分类的开发与验证
01文献信息本次分享的文献是由中国人民解放军总医院第五医学中心介入超声科联合厦门大学附属翔安医院、南开大学医学院和福州市第一总医院超声科等55家医院在2025年2月在柳叶刀子刊《eClinicalMedicine》(中科院1区,IF10.0)上的研究“Develop…...
3大止损策略拯救你的交易:backtrader实战指南
3大止损策略拯救你的交易:backtrader实战指南 【免费下载链接】backtrader Python Backtesting library for trading strategies 项目地址: https://gitcode.com/gh_mirrors/ba/backtrader 作为一名量化交易者,你是否经常面临这样的困境ÿ…...
Taotoken模型广场如何辅助开发者进行多模型选型与对比
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Taotoken模型广场如何辅助开发者进行多模型选型与对比 面对市场上众多的大模型,开发者在进行技术选型时常常需要花费大…...
企业内统一AI开发环境借助TaotokenCLI工具一键配置
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 企业内统一AI开发环境借助Taotoken CLI工具一键配置 在中大型企业的技术团队中,为所有开发者提供统一、标准化的AI服务…...
如何在VSCode中快速配置专业级R语言开发环境:终极实战指南
如何在VSCode中快速配置专业级R语言开发环境:终极实战指南 【免费下载链接】vscode-R R Extension for Visual Studio Code 项目地址: https://gitcode.com/gh_mirrors/vs/vscode-R 你是否正在寻找一个现代化的R语言开发环境,能够提供智能代码补全…...
