使用Docker Desktop部署GitLab

news2025/2/26 8:13:16

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.ioDaoCloud镜像
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/gitlabOkteto是一个用于开发Kubernetes应用的平台,这个镜像可能是为了在Kubernetes环境中部署GitLab而优化的。适用于需要在Kubernetes上部署GitLab的开发人员。
vulhub/gitlabVulhub是一个提供漏洞环境的开源项目,这个镜像可能包含了一些已知漏洞的GitLab版本,用于安全研究或渗透测试。适用于安全研究人员或渗透测试人员。
gitlab/gitlab-runnerGitLab Runner是一个开源项目,用于运行GitLab CI/CD管道中的作业。 适用于需要执行CI/CD任务的环境。
gitlab/gitlab-ceGitLab的社区版,是免费的开源版本,包含了GitLab的核心功能。适用于大多数需要GitLab功能的用户。
gitlab/gitlab-runner-helper这个镜像可能是为了辅助GitLab Runner的运行而设计的,提供了一些额外的工具或脚本。 适用于需要GitLab Runner高级功能的用户。
mcp/gitlab这个镜像可能由某个特定的组织或项目维护,用于特定的部署或配置需求。适用于需要特定配置或定制的GitLab实例。
gitlab/gitlab-eeGitLab的企业版,包含了额外的企业级功能,如高级安全、合规性和支持。适用于需要高级功能和企业级支持的大型组织。

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 namemy-gitlab

  • Ports

    • Host port80Container port80

    • Host port443Container port443

  • Volumes

    • Host pathC:\gitlab-dataContainer path/var/opt/gitlab

  • Environment variables

    • VariableGITLAB_ROOT_PASSWORDValueyour_password

填写完毕后,点击 Run 按钮启动容器。等待初始化完成即可使用。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL数据库连接池泄露导致MySQL Server超时关闭连接

前言 最近做项目&#xff0c;发现老项目出现xxx&#xff0c;这个错误其实很简单&#xff0c;出现在MySQL数据库Server端对长时间没有使用的client连接执行清楚处理&#xff0c;因为是druid数据库&#xff0c;且在github也出现这样的issue&#xff1a;The last packet successf…

力扣 下一个排列

交换位置&#xff0c;双指针&#xff0c;排序。 题目 下一个排列即在组成的排列中的下一个大的数&#xff0c;然后当这个排列为降序时即这个排列最大&#xff0c;因为大的数在前面&#xff0c;降序排列的下一个数即升序。所以&#xff0c;要是想找到当前排列的下一个排列&…

事务管理-03.事务进阶-propagation属性

一.工具 在介绍事务的propagation属性前&#xff0c;我们首先介绍一个工具&#xff1a;Grep Console&#xff0c;该工具用来实现将idea输出出的日志信息进行选择性的高亮展示。 当要选择日志中的某一部分高亮展示时&#xff0c;只需要右键点击Add Highlight即可。此时日志中所…

Pretraining Language Models with Text-Attributed Heterogeneous Graphs

Pretraining Language Models with Text-Attributed Heterogeneous Graphs EMNLP 推荐指数&#xff1a;#paper/⭐⭐#​ 贡献&#xff1a; 我们研究了在更复杂的数据结构上预训练LM的问题&#xff0c;即&#xff0c;TAHG。与大多数只能从每个节点的文本描述中学习的PLM不同&…

模型疑问图像、嵌入、推理类型与说明

在进行模型使用的时候,有时候会碰到模型存在模型类型需要选择的情况,如下面deepseek模型选择模型类型图像、嵌入、推理。 以下是针对此问题的了解与说明: DeepSeek 模型是一个多模态人工智能模型,能够同时处理图像和文本数据,并在多种任务中实现高效的嵌入表示和推理。以下…

WiFi IEEE 802.11协议精读:IEEE 802.11-2007,6,MAC service definition MAC服务定义

继续精读IEEE 802.11-2007 6&#xff0c;MAC service definition MAC服务定义 6.1 MAC服务概述 6.1.1 数据服务 此服务为对等逻辑链路控制&#xff08;LLC&#xff09;实体提供交换MAC服务数据单元&#xff08;MSDU&#xff09;的能力。为支持此服务&#xff0c;本地媒体访…

Visual Studio Code 跨平台安装与配置指南(附官方下载链接)

一、软件定位与核心功能 Visual Studio Code&#xff08;简称VS Code&#xff09;是微软开发的开源跨平台代码编辑器&#xff0c;支持超过50种编程语言的智能补全、调试和版本控制功能。2025版本新增AI辅助编程模块&#xff0c;可自动生成单元测试代码和API文档注释。 二、下载…

deepseek自动化代码生成

使用流程 效果第一步&#xff1a;注册生成各种大模型的API第二步&#xff1a;注册成功后生成API第三步&#xff1a;下载vscode在vscode中下载agent&#xff0c;这里推荐使用cline 第四步&#xff1a;安装完成后&#xff0c;设置模型信息第一步选择API provider&#xff1a; Ope…

OceanBase + DeepSeek:5分钟免费搭建企业知识库

过去一个月&#xff0c;DeepSeek 在全球范围内引发了热烈讨论。其突破性的 AI 能力使其日流量显著超越 Claude 和 Perplexity&#xff0c;吸引了众多企业和技术专家的高度关注。随着 AI 技术的不断进步&#xff0c;企业正面临一场深刻的智能化变革——如何通过 AI 重构业务&…

水利工程安全包括哪几个方面

水利工程安全培训的内容主要包括以下几个方面&#xff1a; 基础知识和技能培训 &#xff1a; 法律法规 &#xff1a;学习水利工程相关的安全生产法律法规&#xff0c;了解安全生产标准及规范。 事故案例 &#xff1a;通过分析事故案例&#xff0c;了解事故原因和教训&#x…

基于 sklearn 的均值偏移聚类算法的应用

基于 sklearn 的均值偏移聚类算法的应用 在机器学习和数据挖掘中&#xff0c;聚类算法是一类非常重要的无监督学习方法。它的目的是将数据集中的数据点划分为若干个类&#xff0c;使得同一类的样本点彼此相似&#xff0c;而不同类的样本点相互之间差异较大。均值偏移聚类&…

国产OS上完整编译Qt5.15、搭建基本开发环境需要的库

近期有师弟问我国产OS安装Qt5.15编译老是不完整&#xff0c;不是没声音&#xff0c;就是没视频&#xff0c;或者没有xcb。通过QEMU模拟Arm64&#xff0c;闲来20几天摸索&#xff0c;完整编译了Qt5.15&#xff0c;并编译成功了我的SDR玩具taskBus。 1.主要结论&#xff1a; 该O…

MyBatis简明教程

MyBatis 是一个用于简化数据库操作的持久层框架&#xff0c;它的核心思想是 将 SQL 与 Java 代码解耦&#xff0c;让开发者专注于 SQL 的编写&#xff0c;同时自动处理重复的数据库操作步骤。 一、核心思想&#xff1a;SQL 与 Java 解耦 传统 JDBC 需要开发者手动管理数据库连…

有什么区别?Elastic 和 Splunk 数据层

作者&#xff1a;来自 Elastic Ugo Sangiorgi, Matt Wehle 了解 Elastic 和 Splunk 数据管理方法之间的主要区别&#xff0c;以便做出明智的决策&#xff0c;实现高效的数据处理 在数据管理领域&#xff0c;在讨论如何根据不同的性能要求提供和/或保留数据时&#xff0c;经常会…

BGP状态和机制

BGP邻居优化 为了增加稳定性,通常建议实验回环口来建立邻居。更新源:建立邻居和邻居所学习到的路由的下一跳。多跳:EBGP邻居建立默认选哟直连,因为TTL=1,如果非直连,必须修改TTL。命令备注peer 2.2.2.2 connect-interface lo1配置更新源peer 2.2.2.2 ebgp-max-hop 2配置T…

【电机控制器】PY32F00BF15U6TR-从KEIL5中计算资源消耗资源

【电机控制器】PY32F00BF15U6TR-从KEIL5中计算资源消耗资源 文章目录 [TOC](文章目录) 前言一、MCU芯片手册二、实验三、实验结论四、参考资料总结 前言 使用工具&#xff1a; 1.KEIL5编译器 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、MCU芯片…

python实战项目58:采集蜻蜓FM热门音频top排行榜

python实战项目58:采集蜻蜓FM热门音频top排行榜 一、采集流程介绍二、数据接口采集三、使用xpath提取页面数据1、抓包,找到数据接口2、发送请求,获取数据3、提取数据4、保存数据一、采集流程介绍 蜻蜓FM热门音频top排行榜的链接为: https://m.qingting.fm/rank/,首页如下图…

STM32【3】芯片的底层组成概论

关于单片机的组成 单片机的意思是&#xff0c;小小计算电脑&#xff0c;麻雀虽小&#xff0c;五脏俱全&#xff0c;里面包含了CPU&#xff0c;ROM&#xff0c;RAM&#xff0c;各种外设。 CPU地位最高&#xff0c;可以访问ROM和RAM&#xff0c;Flash&#xff0c;GPIO等外设&…

基于django图书信息管理系统的搭建(增删改查)

✍django项目搭建教程 ☞ ----------------- 教程 本文主要讲解django如何连接数据库MySQL并且可视化展示&#xff0c;实现增删改查功能 目录 一. 创建django应用 二. 数据库配置 三. 查看数据库 四. 编写代码 4.1视图函数 4.2 配置URL 4.3创建模板文件 4.…

Kotlin 知识点二 延迟初始化和密封类

对变量延迟初始化 Kotlin 语言的许多特性&#xff0c;包括变量不可变&#xff0c;变量不可为空&#xff0c;等等。这些特性 都是为了尽可能地保证程序安全而设计的&#xff0c;但是有些时候这些特性也会在编码时给我们带来不 少的麻烦。 比如&#xff0c;如果你的类中存在很多…