【工作记录】docker安装gitlab、重置密码@20230809
前言
本文记录下基于docker安装gitlab并重置管理员密码的过程。
作为记录的同时也希望能帮助到需要的朋友们。
搭建过程
1. 准备好docker环境并启动docker
[root@slave-node1 docker-gitlab]# docker version
Client:Version: 18.06.1-ceAPI version: 1.38Go version: go1.10.3Git commit: e68fc7aBuilt: Tue Aug 21 17:23:03 2018OS/Arch: linux/amd64Experimental: falseServer:Engine:Version: 18.06.1-ceAPI version: 1.38 (minimum version 1.12)Go version: go1.10.3Git commit: e68fc7aBuilt: Tue Aug 21 17:25:29 2018OS/Arch: linux/amd64Experimental: false
[root@slave-node1 docker-gitlab]# systemctl status docker
● docker.service - Docker Application Container EngineLoaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)Active: active (running) since Wed 2023-08-09 11:39:10 CST; 2h 6min agoDocs: https://docs.docker.comMain PID: 1870 (dockerd)Tasks: 88Memory: 115.1MCGroup: /system.slice/docker.service├─1870 /usr/bin/dockerd├─1878 docker-containerd --config /var/run/docker/containerd/containerd.toml├─9827 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 13888 -container-ip 172.17.0.2 -container-port 80├─9841 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 13443 -container-ip 172.17.0.2 -container-port 443├─9853 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 13222 -container-ip 172.17.0.2 -container-port 22└─9862 docker-containerd-shim -namespace moby -workdir /var/lib/docker/containerd/daemon/io.containerd.runtime.v1.linux/moby/46fecc380b118c78b1ac8ff45f...
....省略部分日志
2. 创建文件夹并运行容器
# 新建文件夹用于存储数据和日志
mkdir -p /opt/docker-gitlab
# 拉取镜像、创建并运行容器
docker run -d -p 13443:443 -p 13888:80 -p 13222:22 --name gitlab --restart always -v /opt/docker-gitlab/config:/etc/gitlab -v /opt/docker-gitlab/logs:/var/log/gitlab -v /opt/docker-gitlab/data:/var/opt/gitlab gitlab/gitlab-ce
首次启动过程比较慢,可以通过docker logs -f gitlab --tail 200实时查看启动日志。
3. 尝试访问
启动完成后访问服务器ip:13888即可看到gitlab首页

默认密码不清楚,网上很多说法是用户名是root, 密码是: 5iveL!fe 我试了下是进不去的,可能是版本升级后更换了默认密码吧。
补充说明:
后面在研究单点登录配置的时候发现在宿主机的/opt/docker-gitlab/config目录下存在initial_root_password这个文件,文件中包含了root密码,第一次登录可以使用这个密码,亲测有效。登录后建议还是要修改这个默认密码。
文件内容如下:
[root@slave-node1 config]# pwd
/opt/docker-gitlab/config
[root@slave-node1 config]# ls -ll
total 176
-rw-------. 1 root root 128291 Aug 9 11:52 gitlab.rb
-rw-------. 1 root root 19103 Aug 9 13:52 gitlab-secrets.json
-rw-------. 1 root root 749 Aug 9 11:52 initial_root_password
-rw-------. 1 root root 513 Aug 9 11:52 ssh_host_ecdsa_key
-rw-r--r--. 1 root root 179 Aug 9 11:52 ssh_host_ecdsa_key.pub
-rw-------. 1 root root 411 Aug 9 11:52 ssh_host_ed25519_key
-rw-r--r--. 1 root root 99 Aug 9 11:52 ssh_host_ed25519_key.pub
-rw-------. 1 root root 2602 Aug 9 11:52 ssh_host_rsa_key
-rw-r--r--. 1 root root 571 Aug 9 11:52 ssh_host_rsa_key.pub
drwxr-xr-x. 2 root root 6 Aug 9 11:53 trusted-certs
[root@slave-node1 config]# cat initial_root_password
# WARNING: This value is valid only in the following conditions
# 1. If provided manually (either via `GITLAB_ROOT_PASSWORD` environment variable or via `gitlab_rails['initial_root_password']` setting in `gitlab.rb`, it was provided before database was seeded for the first time (usually, the first reconfigure run).
# 2. Password hasn't been changed manually, either via UI or via command line.
#
# If the password shown here doesn't work, you must reset the admin password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.# 没错这个就是root对应的初始密码了。
Password: 3dlrX3hiA4RebgqVU7f44I1f7l2jeNThEGYjxjVp/Uw=# NOTE: This file will be automatically deleted in the first reconfigure run after 24 hours.
4. 修改ROOT密码
修改密码需要使用gitlab自带的控制台命令行工具,需要进入到容器中执行。
[root@slave-node1 docker-gitlab]# docker exec -it gitlab bash
root@ac5a942b141f:/# cd /opt/gitlab/
root@ac5a942b141f:/opt/gitlab# ls -ll
total 19972
-rw-r--r--. 1 root root 7854098 Jan 4 2022 LICENSE
drwxr-xr-x. 2 root root 4096 Jan 4 2022 LICENSES
drwxr-xr-x. 2 root root 4096 Jan 4 2022 bin
-rw-r--r--. 1 root root 12510625 Jan 4 2022 dependency_licenses.json
drwxr-xr-x. 18 root root 4096 Aug 9 05:52 embedded
drwxr-xr-x. 11 root root 4096 Aug 9 05:53 etc
drwxr-xr-x. 2 root root 4096 Aug 9 05:53 init
drwxr-xr-x. 2 root root 4096 Jan 4 2022 licenses
drwxr-xr-x. 2 root root 4096 Aug 9 05:53 service
drwxr-xr-x. 17 root root 4096 Aug 9 05:53 sv
drwxr-xr-x. 3 root root 18 Aug 9 05:52 var
-rw-r--r--. 1 root root 31571 Jan 4 2022 version-manifest.json
-rw-r--r--. 1 root root 12062 Jan 4 2022 version-manifest.txt
root@ac5a942b141f:/opt/gitlab# gitlab-rails console
--------------------------------------------------------------------------------Ruby: ruby 2.7.5p203 (2021-11-24 revision f69aeb8314) [x86_64-linux]GitLab: 14.6.1 (661d663ab2b) FOSSGitLab Shell: 13.22.1PostgreSQL: 12.7
--------------------------------------------------------------------------------
Loading production environment (Rails 6.1.4.1)
irb(main):001:0> user=User.find_by(username:'root')
=> #<User id:1 @root>
irb(main):002:0> user.password='xxxxxxx'
=> "xxxxxxx"
irb(main):003:0> user.password_confirmation='xxxxxxx'
=> "xxxxxxx"
irb(main):004:0> user.save!
=> true
irb(main):005:0> exit
root@ac5a942b141f:/opt/gitlab# exit
exit
简单来说就是进入到命令行—>找到用户—>设置密码—>设置确认密码—>保存并退出。跟http请求逻辑有点像。
这样就完成了密码重置,可以重新访问http://ip:13888 使用root和修改后的密码登录,亲测有效。
当然这个方法修改任何一个存在的用户密码应该都是可行的。

到此基于docker搭建的gitlab就完成了。
总结
本文简单记录了基于docker搭建gitlab环境的过程,同时提供了修改密码的过程。
针对以上内容有任何疑问或者建议欢迎留言评论~
创作不易,欢迎一键三连~~
相关文章:
【工作记录】docker安装gitlab、重置密码@20230809
前言 本文记录下基于docker安装gitlab并重置管理员密码的过程。 作为记录的同时也希望能帮助到需要的朋友们。 搭建过程 1. 准备好docker环境并启动docker [rootslave-node1 docker-gitlab]# docker version Client:Version: 18.06.1-ceAPI version: 1.38…...
数据挖掘的基本概念和大数据的特点
数据挖掘是指从大量数据中提取有价值的信息或模式的过程。它通常使用计算机技术来分析数据,并利用统计学、机器学习、人工智能等方法来发现数据中的隐藏规律、趋势和关联性。 数据挖掘的基本概念包括以下几个方面: 数据预处理:对原始数据进行…...
LabVIEW开发分段反射器测试台
LabVIEW开发分段反射器测试台 随着对太空的观察需求越来越远,而不是当前技术(如哈勃望远镜)所能达到的,有必要增加太空望远镜主镜的尺寸。但是,增加主镜像的大小时存在几个问题。随着反射镜尺寸的增加,制造…...
二级python和二级c哪个简单,二级c语言和二级python
大家好,小编为大家解答二级c语言和二级office一起报可以吗的问题。很多人还不知道计算机二级c语言和python哪个好考,现在让我们一起来看看吧! 介绍Python有很多库和使用Qt编写的接口,这自然创建c调用Python的需求。一路摸索,充满艰辛的添加头…...
E: Package ‘curl‘ has no installation candidate/ E:软件包没有可用的安装源
解决方案: 访问etc/apt/source.list 修改或者添加安装源 不用版本的Linux 有不同的配置比如我的是Debian 12 其他版本的去搜索引擎搜索即可 vim /etc/apt/source.list 改成修改或添加 // 以下是官方示例 deb http://deb.debian.org/debian bookworm main non-…...
代理模式及常见的3种代理类型对比
代理模式及常见的3种代理类型对比 代理模式代理模式分类静态代理JDK动态代理CGLIB动态代理Fastclass机制 三种代理方式之间对比常见问题 代理模式 代理模式是一种设计模式,提供了对目标对象额外的访问方式,即通过代理对象访问目标对象,这样可…...
8.6 校招 内推 面经
绿泡泡: neituijunsir 交流裙,内推/实习/校招汇总表格 1、面经 | 车载测试-23 面经 | 车载测试-23 2、校招 | 荣耀2024届全球校园招聘启动(内推) 校招 | 荣耀2024届全球校园招聘启动(内推) 3、校招 |…...
【大数据之Flume】七、Flume进阶之自定义Sink
(1)概述: Sink 不断地轮询 Channel 中的事件且批量地移除它们,并将这些事件批量写入到存储或索引系统、或者被发送到另一个 Flume Agent。 Sink 是完全事务性的。在从 Channel 批量删除数据之前,每个 Sink 用 Chan…...
vue对于时间的处理
2023-08-05 11:25:45 假如这个就是我们要传的时间字符串 比如今天是2023-08-05(同一天):现在把这个时间字符串传入到 formatDate()这个方法,就会给你返回 11:25 比如今天是2023-08-06(前一天&a…...
Apache DolphinScheduler 3.1.8 版本发布,修复 SeaTunnel 相关 Bug
近日,Apache DolphinScheduler 发布了 3.1.8 版本。此版本主要基于 3.1.7 版本进行了 bug 修复,共计修复 16 个 bug, 1 个 doc, 2 个 chore。 其中修复了以下几个较为重要的问题: 修复在构建 SeaTunnel 任务节点的参数时错误的判断条件修复 …...
科技云报道:一波未平一波又起?AI大模型再出邪恶攻击工具
AI大模型的快速向前奔跑,让我们见识到了AI的无限可能,但也展示了AI在虚假信息、深度伪造和网络攻击方面的潜在威胁。 据安全分析平台Netenrich报道,近日,一款名为FraudGPT的AI工具近期在暗网上流通,并被犯罪分子用于编…...
深度对话|如何设计合适的网络经济激励措施
近日,我们与Mysten Labs的首席经济学家Alonso de Gortari进行了对话,讨论了如何在网络运营商和参与者之间找到激励措施的平衡,以及Sui的经济如何不断发展。 是什么让您选择将自己的经济学背景应用于区块链和Web3领域? 起初&…...
opencv带GStreamer之Windows编译
目录 1、下载GStreamer和安装2. GSTReamer CMake配置3. 验证是否配置成功 1、下载GStreamer和安装 下载地址如下: gstreamer-1.0-msvc-x86_64-1.18.2.msi gstreamer-1.0-devel-msvc-x86_64-1.18.2.msi 安装目录无要求,主要是安装完设置环境变量 xxx\1…...
Java并发编程之锁的升级
Java 中的锁机制是多线程编程中的一部分。锁一共有4种状态,级别从低到高依次是:无锁状态、偏向锁状态、轻量级锁状态和重量级锁状态,这几个状态会随着竞争情况逐渐升级。 锁可以升级但不能降级,意味着偏向锁升级成轻量级锁后不能…...
多核异构处理器A核与M核通信过程
多核异构处理器是指集成了不同类型或架构的CPU的系统级芯片(SoC)。 例如,有些处理器同时包含了高性能的A核(如Cortex-A)和低功耗的M核(如Cortex-M)。 这样的设计可以让不同的CPU负责不同的任务…...
面试热题(反转链表)
给你单链表的头指针 head 和两个整数 left 和 right ,其中 left < right 。请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表 。 链表的题,大部分都可以用指针或者递归可以做,指针如果做不出来的话,…...
竞赛项目 深度学习的水果识别 opencv python
文章目录 0 前言2 开发简介3 识别原理3.1 传统图像识别原理3.2 深度学习水果识别 4 数据集5 部分关键代码5.1 处理训练集的数据结构5.2 模型网络结构5.3 训练模型 6 识别效果7 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 深度学习…...
Java项目部署云windows细节
springboot项目 pom文件中必须要有这个插件(正常其实都有就是我手贱以前不小心删除了) 他的作用是查找主类 <build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-…...
软件功能测试有什么注意事项?功能测试报告起到什么作用?
软件功能测试是软件开发过程中至关重要的一环,它用于评估软件功能的质量和稳定性,并确保软件能够按照预期进行工作。然而,在进行功能测试时,有一些注意事项需要特别关注,以确保测试的准确性和有效性。 一、软件功能测…...
Kubernetes 调度 约束
调度约束 Kubernetes 是通过 List-Watch 的机制进行每个组件的协作,保持数据同步的,每个组件之间的设计实现了解耦。 用户是通过 kubectl 根据配置文件,向 APIServer 发送命令,在 Node 节点上面建立 Pod 和 Container。 APIServer…...
Java 虚拟线程并发最佳实践:高并发编程新范式
Java 虚拟线程并发最佳实践:高并发编程新范式今天我们来聊聊 Java 虚拟线程的并发最佳实践,这是 Java 21 带来的革命性特性。一、虚拟线程概述 虚拟线程(Virtual Threads)是 Java 21 引入的轻量级线程实现,它彻底改变了…...
开发者效率套件:OpenClaw+千问3.5-27B自动化代码审查
开发者效率套件:OpenClaw千问3.5-27B自动化代码审查 1. 为什么需要AI辅助代码审查? 作为一个长期在开源社区摸爬滚打的开发者,我经历过太多深夜提交代码后第二天被reviewer指出低级错误的尴尬时刻。直到上个月在本地部署了OpenClaw千问3.5-…...
深度排查:Hyper-V 已关但 VirtualBox 仍报错的完整解决方案
一、先确认核心状态:是否真的完全关闭了 Hyper-V 1. 用命令验证 Hyper-V 状态 以管理员身份打开终端,执行以下命令,确认所有相关服务都已禁用: bcdedit /enum | findstr hypervisorlaunchtype你已经确认是 Off,再执行&…...
蓝桥杯嵌入式15届国赛,轻松解决——附满分工程链接
蓝桥杯嵌入式15届国赛 前言 以下内容仅代表个人观点,基于有限的经验和认知整理而成。每个人的视角和背景不同,观点难免存在差异或局限。若存在疏漏或不足之处,欢迎指正与探讨,但请多一份包容。希望通过这些思考,能激…...
用 Shield CLI 本地开发调试:从零到上线你的第一个 Skill
当 AI Agent 需要调用外部能力时,Skill 就是它的"技能包"。本文以一个文旅素材搜索 Skill 为例,带你走完本地开发 → 调试 → 发布 → 安装使用的完整流程。核心工具只有一个 —— Shield CLI。 背景:什么是 Skill? Sk…...
毕业设计实战:基于Java+MySQL的C2C商务网站设计与实现指南
毕业设计实战:基于JavaMySQL的C2C商务网站设计与实现指南 在开发“基于JavaMySQL的C2C商务网站”毕业设计时,我曾因商品订单表未通过用户ID、商品ID与收货地址ID三外键关联踩过关键坑——初期设计订单表时,仅记录了订单号、总价、下单时间等基…...
一款基于 .NET 开源、跨平台应用程序自动升级组件阅
基础示例:单工作表 Excel 转 TXT 以下是将一个 Excel 文件中的第一个工作表转换为 TXT 的完整步骤: 1. 加载并读取Excel文件 from spire.xls import * from spire.xls.common import * workbook Workbook() workbook.LoadFromFile("示例.xlsx"…...
Arduino GIGA R1 非阻塞 WAV 播放库 GigaAudio 深度解析
1. GigaAudio 库概述:面向 Arduino GIGA R1 的嵌入式 WAV 播放引擎GigaAudio 是专为 Arduino GIGA R1 开发板设计的轻量级、非阻塞式 WAV 音频播放库。其核心定位并非通用音频框架,而是针对 GIGA R1 硬件平台(基于 ARM Cortex-M7 的 NXP i.MX…...
RDMA 核心原理:RoCE v2 与传输操作详解
一、RDMA原理操作 RDMA 传输符合 RoCE v2 协议 RDMA over Converged Ethernet (RoCE) 是一种网络协议,它利用远程直接内存访问 (RDMA) 功能来显着加速托管在服务器集群和存储阵列上的应用程序之间的通信。RoCE 结合了IBTARDMA 语义,允许设备在应用程序级…...
FastAPI单元测试实战:别等上线被喷才后悔,TestClient用对了真香!芯
正文 异步/等待解决了什么问题? 在传统同步I/O操作中(如文件读取或Web API调用),调用线程会被阻塞直到操作完成。这在UI应用中会导致界面冻结,在服务器应用中则造成线程资源的浪费。async/await通过非阻塞的异步操作解…...
