当前位置: 首页 > news >正文

【工作记录】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和修改后的密码登录,亲测有效。

当然这个方法修改任何一个存在的用户密码应该都是可行的。

gitlab首页展示

到此基于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…...

数据挖掘的基本概念和大数据的特点

数据挖掘是指从大量数据中提取有价值的信息或模式的过程。它通常使用计算机技术来分析数据&#xff0c;并利用统计学、机器学习、人工智能等方法来发现数据中的隐藏规律、趋势和关联性。 数据挖掘的基本概念包括以下几个方面&#xff1a; 数据预处理&#xff1a;对原始数据进行…...

LabVIEW开发分段反射器测试台

LabVIEW开发分段反射器测试台 随着对太空的观察需求越来越远&#xff0c;而不是当前技术&#xff08;如哈勃望远镜&#xff09;所能达到的&#xff0c;有必要增加太空望远镜主镜的尺寸。但是&#xff0c;增加主镜像的大小时存在几个问题。随着反射镜尺寸的增加&#xff0c;制造…...

二级python和二级c哪个简单,二级c语言和二级python

大家好&#xff0c;小编为大家解答二级c语言和二级office一起报可以吗的问题。很多人还不知道计算机二级c语言和python哪个好考&#xff0c;现在让我们一起来看看吧&#xff01; 介绍Python有很多库和使用Qt编写的接口,这自然创建c调用Python的需求。一路摸索,充满艰辛的添加头…...

E: Package ‘curl‘ has no installation candidate/ E:软件包没有可用的安装源

解决方案&#xff1a; 访问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机制 三种代理方式之间对比常见问题 代理模式 代理模式是一种设计模式&#xff0c;提供了对目标对象额外的访问方式&#xff0c;即通过代理对象访问目标对象&#xff0c;这样可…...

8.6 校招 内推 面经

绿泡泡&#xff1a; neituijunsir 交流裙&#xff0c;内推/实习/校招汇总表格 1、面经 | 车载测试-23 面经 | 车载测试-23 2、校招 | 荣耀2024届全球校园招聘启动&#xff08;内推&#xff09; 校招 | 荣耀2024届全球校园招聘启动&#xff08;内推&#xff09; 3、校招 |…...

【大数据之Flume】七、Flume进阶之自定义Sink

&#xff08;1&#xff09;概述&#xff1a;   Sink 不断地轮询 Channel 中的事件且批量地移除它们&#xff0c;并将这些事件批量写入到存储或索引系统、或者被发送到另一个 Flume Agent。 Sink 是完全事务性的。在从 Channel 批量删除数据之前&#xff0c;每个 Sink 用 Chan…...

vue对于时间的处理

2023-08-05 11:25:45 假如这个就是我们要传的时间字符串 比如今天是2023-08-05&#xff08;同一天&#xff09;&#xff1a;现在把这个时间字符串传入到 formatDate&#xff08;&#xff09;这个方法&#xff0c;就会给你返回 11:25 比如今天是2023-08-06&#xff08;前一天&a…...

Apache DolphinScheduler 3.1.8 版本发布,修复 SeaTunnel 相关 Bug

近日&#xff0c;Apache DolphinScheduler 发布了 3.1.8 版本。此版本主要基于 3.1.7 版本进行了 bug 修复&#xff0c;共计修复 16 个 bug, 1 个 doc, 2 个 chore。 其中修复了以下几个较为重要的问题&#xff1a; 修复在构建 SeaTunnel 任务节点的参数时错误的判断条件修复 …...

科技云报道:一波未平一波又起?AI大模型再出邪恶攻击工具

AI大模型的快速向前奔跑&#xff0c;让我们见识到了AI的无限可能&#xff0c;但也展示了AI在虚假信息、深度伪造和网络攻击方面的潜在威胁。 据安全分析平台Netenrich报道&#xff0c;近日&#xff0c;一款名为FraudGPT的AI工具近期在暗网上流通&#xff0c;并被犯罪分子用于编…...

深度对话|如何设计合适的网络经济激励措施

近日&#xff0c;我们与Mysten Labs的首席经济学家Alonso de Gortari进行了对话&#xff0c;讨论了如何在网络运营商和参与者之间找到激励措施的平衡&#xff0c;以及Sui的经济如何不断发展。 是什么让您选择将自己的经济学背景应用于区块链和Web3领域&#xff1f; 起初&…...

opencv带GStreamer之Windows编译

目录 1、下载GStreamer和安装2. GSTReamer CMake配置3. 验证是否配置成功 1、下载GStreamer和安装 下载地址如下&#xff1a; gstreamer-1.0-msvc-x86_64-1.18.2.msi gstreamer-1.0-devel-msvc-x86_64-1.18.2.msi 安装目录无要求&#xff0c;主要是安装完设置环境变量 xxx\1…...

Java并发编程之锁的升级

Java 中的锁机制是多线程编程中的一部分。锁一共有4种状态&#xff0c;级别从低到高依次是&#xff1a;无锁状态、偏向锁状态、轻量级锁状态和重量级锁状态&#xff0c;这几个状态会随着竞争情况逐渐升级。 锁可以升级但不能降级&#xff0c;意味着偏向锁升级成轻量级锁后不能…...

多核异构处理器A核与M核通信过程

多核异构处理器是指集成了不同类型或架构的CPU的系统级芯片&#xff08;SoC&#xff09;。 例如&#xff0c;有些处理器同时包含了高性能的A核&#xff08;如Cortex-A&#xff09;和低功耗的M核&#xff08;如Cortex-M&#xff09;。 这样的设计可以让不同的CPU负责不同的任务…...

面试热题(反转链表)

给你单链表的头指针 head 和两个整数 left 和 right &#xff0c;其中 left < right 。请你反转从位置 left 到位置 right 的链表节点&#xff0c;返回 反转后的链表 。 链表的题&#xff0c;大部分都可以用指针或者递归可以做&#xff0c;指针如果做不出来的话&#xff0c;…...

竞赛项目 深度学习的水果识别 opencv python

文章目录 0 前言2 开发简介3 识别原理3.1 传统图像识别原理3.2 深度学习水果识别 4 数据集5 部分关键代码5.1 处理训练集的数据结构5.2 模型网络结构5.3 训练模型 6 识别效果7 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 深度学习…...

Java项目部署云windows细节

springboot项目 pom文件中必须要有这个插件&#xff08;正常其实都有就是我手贱以前不小心删除了&#xff09; 他的作用是查找主类 <build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-…...

软件功能测试有什么注意事项?功能测试报告起到什么作用?

软件功能测试是软件开发过程中至关重要的一环&#xff0c;它用于评估软件功能的质量和稳定性&#xff0c;并确保软件能够按照预期进行工作。然而&#xff0c;在进行功能测试时&#xff0c;有一些注意事项需要特别关注&#xff0c;以确保测试的准确性和有效性。 一、软件功能测…...

Kubernetes 调度 约束

调度约束 Kubernetes 是通过 List-Watch 的机制进行每个组件的协作&#xff0c;保持数据同步的&#xff0c;每个组件之间的设计实现了解耦。 用户是通过 kubectl 根据配置文件&#xff0c;向 APIServer 发送命令&#xff0c;在 Node 节点上面建立 Pod 和 Container。 APIServer…...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接&#xff1a;3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

K8S认证|CKS题库+答案| 11. AppArmor

目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作&#xff1a; 1&#xff09;、切换集群 2&#xff09;、切换节点 3&#xff09;、切换到 apparmor 的目录 4&#xff09;、执行 apparmor 策略模块 5&#xff09;、修改 pod 文件 6&#xff09;、…...

【Java学习笔记】Arrays类

Arrays 类 1. 导入包&#xff1a;import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序&#xff08;自然排序和定制排序&#xff09;Arrays.binarySearch()通过二分搜索法进行查找&#xff08;前提&#xff1a;数组是…...

关于 WASM:1. WASM 基础原理

一、WASM 简介 1.1 WebAssembly 是什么&#xff1f; WebAssembly&#xff08;WASM&#xff09; 是一种能在现代浏览器中高效运行的二进制指令格式&#xff0c;它不是传统的编程语言&#xff0c;而是一种 低级字节码格式&#xff0c;可由高级语言&#xff08;如 C、C、Rust&am…...

[Java恶补day16] 238.除自身以外数组的乘积

给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#xff0c;且在 O(n) 时间复杂度…...

Typeerror: cannot read properties of undefined (reading ‘XXX‘)

最近需要在离线机器上运行软件&#xff0c;所以得把软件用docker打包起来&#xff0c;大部分功能都没问题&#xff0c;出了一个奇怪的事情。同样的代码&#xff0c;在本机上用vscode可以运行起来&#xff0c;但是打包之后在docker里出现了问题。使用的是dialog组件&#xff0c;…...

IP如何挑?2025年海外专线IP如何购买?

你花了时间和预算买了IP&#xff0c;结果IP质量不佳&#xff0c;项目效率低下不说&#xff0c;还可能带来莫名的网络问题&#xff0c;是不是太闹心了&#xff1f;尤其是在面对海外专线IP时&#xff0c;到底怎么才能买到适合自己的呢&#xff1f;所以&#xff0c;挑IP绝对是个技…...

Golang——6、指针和结构体

指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...

认识CMake并使用CMake构建自己的第一个项目

1.CMake的作用和优势 跨平台支持&#xff1a;CMake支持多种操作系统和编译器&#xff0c;使用同一份构建配置可以在不同的环境中使用 简化配置&#xff1a;通过CMakeLists.txt文件&#xff0c;用户可以定义项目结构、依赖项、编译选项等&#xff0c;无需手动编写复杂的构建脚本…...

vue3 daterange正则踩坑

<el-form-item label"空置时间" prop"vacantTime"> <el-date-picker v-model"form.vacantTime" type"daterange" start-placeholder"开始日期" end-placeholder"结束日期" clearable :editable"fal…...