在windows server 2022搭建gitlab……但是失败了

在windows server 2022搭建gitlab……但是失败了

  • 1. 前言
  • 2. 安装ubuntu环境
  • 2. 安装docker
  • 3. 映射
    • 3.1 端口映射
    • 3.2 路径映射

1. 前言

上一篇:在windows本地机搭建gitlab

本来按理来说没必要另起一篇,但是没想到,在新机器的windows server 2022上按照上篇搭建了之后,发现gitlab安装成功后,怎么都起不来,在管理页面也始终是500错误。

折腾了几个星期,用尽各种办法都搞不定,docker desktop还一直在崩溃,换了新版本也没用。

直到找到docker desktop官方页面Install Docker Desktop on Windows文档中的一句话,一切才豁然开朗……

Docker Desktop is not supported on server versions of Windows, such as Windows Server 2019 or Windows Server 2022. 

nmd,wsm

总之,有点难崩了,它让我去微软的官方文档开始:为容器准备 Windows查找使用方法。
顺便,又找到了一位前辈写的教程:Windows Server 2022 安装配置——安装 Docker

既然找到了根因,那就又有了信心,开干!

2. 安装ubuntu环境

打开powershell(注意!不能是cmd,否则会没有相关的命令可以执行!)
安装虚拟容器环境

Install-WindowsFeature -Name Hyper-V
Install-WindowsFeature -Name containers

然后重启电脑
再次打开powershell,安装docker

Invoke-WebRequest -UseBasicParsing "https://raw.githubusercontent.com/microsoft/Windows-Containers/Main/helpful_tools/Install-DockerCE/install-docker-ce.ps1" -o install-docker-ce.ps1
\install-docker-ce.ps1
# 检查版本
docker version

前辈的文章中说可选安装docker-compose,但是安装之后却报错了,不过考虑到也用不着多容器执行,就跳过了。

再次重启电脑

安装wsl(该指令只支持windows server 2022版本,其它需要手动安装)

wsl --install

这会自动下载并安装Ubuntu系统到你的windows上,等待下载安装完成。

注意,这个过错中会让你输入初始用户名和2次密码,记得修改内容!后面再改会非常麻烦!

退出wsl

exit

查看wsl版本,确定是wsl2

wsl --status

再次进入wsl:

wsl

此外,列出一些命令:
查看wsl中的系统

wsl --list --verbose

注销(删除)wsl中的系统

wsl --unregister <Ubuntu名称>

2. 安装docker

这部分基本就是照抄前辈写的内容:Windows Server 2022 安装配置——安装 Docker
进入wsl

wsl

安装依赖

sudo apt-get update
sudo apt-get install ca-certificates curl gnupg lsb-release

安装docker

# 创建存放文件夹
sudo mkdir -p /etc/apt/keyrings
# curl下载密钥,并存放至刚创建的文件夹下
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# 设置存储库
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 安装docker
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

验证

sudo service docker start
sudo docker version

成功打印版本信息,安装docker成功。

# 将当前用户添加到docker组(避免每次使用sudo),需要重启wsl生效
sudo usermod -aG docker $USER

后续使用wsl中的docker,安装gitlab。

3. 映射

3.1 端口映射

wsl2会自动将端口映射到windows相同端口

3.2 路径映射

将共享文件夹路径从docker映射到windows:
/mnt/<盘符>/<文件夹>映射(如/mnt/d/gitlab-data),对应 Windows 的D:\gitlab-data

但是!!!/mnt/<盘符>/下面的文件系统本质上仍然是windows的文件系统,所以直接映射之后,gitlab运行会报错!!!
需要在/mnt下面新建linux文件系统的目录,用于挂载,例如:

mkdir -p /mnt/gitlab/config
mkdir -p /mnt/gitlab/log
mkdir -p /mnt/gitlab/data

在windows系统中想要访问这些文件只需要在文件浏览器里面输入:

\\wsl$

如果权限不足,则在wsl中把默认登录用户修改为root:

sudo vi /etc/wsl.conf

重启wsl

wsl --shutdown

……然后启动gitlab还是报错500了。
我投降,把数据都打包在容器里面吧,不搞外部数据路径映射了,这样下次搬迁的时候还好搬一点……
于是,直接下载完整的latest的gitlab镜像,不使用任何外部路径,在容器内部运行,不改任何东西!
又报错500了……

500的错误实在太多,根本修不完,决定投降。
gitlab再见,一转部署gitea!

下一篇:在windows server 2022搭建gitea

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

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

相关文章

蓝桥杯算法之基础知识(4)

目录 Ⅰ.sorted排序 Ⅱ.排序具体的方法 &#xff08;1&#xff09;sort的神方法&#xff08;注意是sort&#xff09; &#xff08;2&#xff09;sorted的神方法&#xff08;注意这里是sorted&#xff09; 常见场景 1. 单关键字排序 2. 多关键字排序 3.按倒序字符串排序&#xf…

GOFLY开源客服系统-处理gin框架下的session中间件

了解更多&#xff0c;搜索:"程序员老狼" 在当今数字化时代&#xff0c;在线客服系统已成为企业与客户沟通的重要桥梁。作为GOFLY客服系统的开发者&#xff0c;我今天要分享我们如何在系统中实现安全可靠的会话管理机制——这是保障用户数据安全的核心技术。 为什么…

Burp Suite 插件 | 提供强大的框架自动化安全扫描功能。目前支持1000+POC、支持动态加载POC、指定框架扫描。

工具介绍 Rinte 是一款专为渗透测试人员设计的 Burp Suite 插件&#xff0c;提供强大的自动化安全扫描功能。该插件集成了框架检测、漏洞扫描和敏感路径扫描等多种功能&#xff0c;帮助安全研究人员快速识别目标系统的安全漏洞。支持1000框架POC、支持动态加载POC、指定框架扫描…

记录测试环境hertzbeat压测cpu高,oom问题排查。jvm,mat,visulavm

记录测试环境hertzbeat压测cpu高&#xff0c;oom问题排查。jvm&#xff0c;mat&#xff0c;visulavm 一&#xff0c;问题背景 运维平台&#xff0c;采用hertzbeat开源代码进行采集。对单个设备连接&#xff0c;采集9个指标。目前hertzbeat对1个设备连接&#xff0c;下发9次单独…

基于 CC-Link IE FB 转 DeviceNet 技术的三菱 PLC 与发那科机器人在汽车涂装线的精准喷涂联动

案例背景在汽车制造行业&#xff0c;生产线的高效协同是提高生产效率和产品质量的关键。某汽车制造企业的车身焊接车间采用了基于 CC-Link IE FB 主站的三菱 Q 系列 PLC&#xff0c;凭借其强大的功能和稳定的性能&#xff0c;对焊接机器人等设备进行精准控制。而在涂装车间&…

极空间打造 “超级中枢”,从书签笔记到聊天分享,一键全搞定!

「NAS、键盘、路由器年轻就要多折腾&#xff0c;我是爱折腾的熊猫&#xff0c;今天又给大家分享最近折腾的内容了&#xff0c;关注是对我最大的支持&#xff0c;阿里嘎多」引言书签项目熊猫介绍过不少啦&#xff0c;但今天要介绍的这个项目&#xff0c;大不一样。平常的书签&am…

Swift 解法详解:LeetCode 368《最大整除子集》

文章目录摘要描述题解答案题解代码分析代码拆解示例测试及结果时间复杂度空间复杂度总结摘要 有时候我们会遇到这样的问题&#xff1a;给定一堆数&#xff0c;如何从中挑出一个子集&#xff0c;让这个子集里的每一对数都能互相整除&#xff1f;题目要求我们找出最大的这样一个…

python数据分析 与spark、hive数据分析对比

Python 数据分析与 Spark、Hive 数据分析在应用场景、数据处理能力、编程模型等方面存在差异&#xff0c;以下是详细对比&#xff1a;​数据处理规模​Python 数据分析&#xff1a;​特点&#xff1a;Python 数据分析常用库如Pandas&#xff0c;在单机环境下对中小规模数据集&a…

专题:2025全球新能源汽车供应链核心领域研究报告|附300+份报告PDF、数据仪表盘汇总下载

原文链接&#xff1a;https://tecdat.cn/?p43781 原文出处&#xff1a;拓端抖音号拓端tecdat 2024年&#xff0c;全球汽车产业站在了“旧秩序打破、新格局建立”的十字路口——一边是传统供应链受宏观经济波动、地缘博弈冲击&#xff0c;全球零部件企业营收首次出现负增长&…

从数据孤岛到智能中枢:RAG与智能体协同架构如何重塑企业知识库

1. 前言企业知识管理正面临前所未有的挑战。分散在各个系统中的文档、报告、邮件和数据库形成了数据孤岛&#xff0c;而大语言模型在缺乏准确知识支撑时容易产生幻觉回答。这种矛盾催生了检索增强生成&#xff08;RAG&#xff09;技术的快速发展。RAG不仅仅是技术组合&#xff…

UBUNTU之Onvif开源服务器onvif_srvd:2、测试

运行 # eth0: 网卡 # 192.168.0.229: IPsudo ./onvif_srvd \--ifs eth0 \--scope onvif://www.onvif.org/name/TestDev \--scope onvif://www.onvif.org/Profile/S \--name RTSP \--width 800 --height 600 \--url rtsp://192.168.0.229:554/unicast \--type JPEG 测试 使用…

项目中常用的git命令

Git介绍Git是一个分布式版本控制系统&#xff0c;主要作用就是记录代码的历史变化&#xff0c;让开发者可以查看任意时间点的代码&#xff0c;回滚到某个历史版本&#xff0c;对比不同版本之间的差异。在企业开发中&#xff0c;通过是通过多人协作开发&#xff0c;具体分支可以…

C 语言标准输入输出库:`stdio.h` 的使用详解

1. 概述 在 C 语言中&#xff0c;stdio.h&#xff08;Standard Input Output Header&#xff09;是一个标准库头文件&#xff0c;主要用于提供输入与输出功能。几乎所有的 C 程序都会用到它&#xff0c;因为它定义了用于读取、写入、格式化、文件操作等常用函数。 要在程序中使…

flume扩展实战:自定义拦截器、Source 与 Sink 全指南

flume扩展实战&#xff1a;自定义拦截器、Source 与 Sink 全指南 Flume 内置的组件虽然能满足大部分场景&#xff0c;但在复杂业务需求下&#xff08;如特殊格式数据采集、定制化数据清洗&#xff09;&#xff0c;需要通过自定义组件扩展其功能。本文将详细讲解如何自定义 Flu…

【数学建模】数学建模应掌握的十类算法

【数学建模】数学建模应掌握的十类算法前言数学建模竞赛官网1. 全国大学生数学建模竞赛官网2. 美国大学生数学建模竞赛官网3. Matlab 网站4. 研究生数学建模竞赛官网数学建模应掌握的十类算法1. 蒙特卡罗方法(Monte-Carlo方法, MC)2. 数据拟合、参数估计、插值等数据处理算法3.…

物联网开发学习总结(1)—— IOT 设备 OTA 升级方案

在物联网设备数量呈指数级增长的今天&#xff0c;如何高效、可靠地实现设备固件升级&#xff08;OTA&#xff09;成为了每个物联网开发者必须面对的重要课题。传统的HTTP升级方案虽然简单易用&#xff0c;但随着设备规模的扩大&#xff0c;其局限性日益明显。 一、HTTP OTA升级…

正运动控制卡学习-网络连接

一.硬件介绍使用正运动控制卡ECI1408进行学习&#xff0c;使用正运动函数库进行设置&#xff0c;并参考网络视频等进行学习记录&#xff0c;侵权删除.二.使用C#创建连接界面三.创建运动卡类3.1.创建IP连接字段private string IP; //连接IP public Inptr IPHandle&#xff1b;//…

存算一体:重构AI计算的革命性技术(1)

存算一体&#xff1a;重构AI计算的革命性技术 一、从存储墙到存算一体&#xff1a;计算架构的百年变革 1.1 冯诺依曼架构的困境与突破 在计算机发展的历史长河中&#xff0c;存储与计算的分离一直是制约性能提升的关键瓶颈。1945年&#xff0c;计算机科学家冯诺依曼提出了现代计…

Linux之centos 系统常用命令详解(附实战案例)

CentOS 系统常用命令详解&#xff08;附实战案例&#xff09; 前言 本文针对 CentOS 7/8 系统&#xff0c;整理了运维工作中高频使用的命令&#xff0c;涵盖系统信息、文件操作、用户权限、软件管理、服务控制、网络配置等核心场景&#xff0c;并结合实战案例说明具体用法&…

生成知识图谱与技能树的工具指南:PlantUML、Mermaid 和 D3.js

摘要本文详细介绍了生成知识图谱、技能树和桑基图的工具&#xff0c;包括 PlantUML、Mermaid 和 D3.js&#xff0c;以及它们的概念、原理和使用方法。文档为前端开发提供了示例知识图谱、技能树和桑基图&#xff0c;并为新手提供了在线编辑器和 VS Code 的操作步骤&#xff0c;…