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

Gitlab基础篇: Gitlab docker 安装部署、Gitlab 设置账号密码

文章目录

  • 1、环境准备
  • 2、配置
    • 1)、初始化
    • 2)、修改gitlab配置文件
    • 3)、修改docker配置的gitlab默认端口
  • gitlab进阶配置
    • gitlab 设置账号密码

1、环境准备

安装docker gitlab前确保docker环境,如果没有搭建docker请查阅“Linux docker 安装文档”

docker 下载 gitlab容器

docker pull gitlab/gitlab-ce

2、配置

1)、初始化

docker run --detach --name gitlab -p 18081:80 -p 10022:22 --restart always -v /backup/gitlab/config:/etc/gitlab -v /backup/gitlab/logs:/var/log/gitlab -v /backup/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:latest

参数解析

命令参数解析
-namegitlab容器的名称
-p18081:8080端口为gitlab可视化操作服务的默认访问端口,防止占用将80更改为18081
-p10022:2222为ssh 端口,因为冲突所以改成10022
–restart always----null-----该配置当docker重启时,gitlab也会随着docker自动重启
-vpath1:path2将data、log、config等默认路径修改为path1

2)、修改gitlab配置文件

修改gitlab配置文件

vim /backup/gitlab/config/gitlab.rb
keyvalue
external_url‘http://ip:18081’

3)、修改docker配置的gitlab默认端口

修改docker镜像的gitlab容器端口前需要把gitlab容器以及docker镜像关闭

关闭gitlab容器

docker stop gitlab

关闭docker镜像

systemctl stop docker

查看docker下所有容器的ID
在这里插入图片描述

进入docker配置文件目录

cd /var/lib/docker/containers

在这里插入图片描述

可以看到在docker ps -a 打印中看到 容器ID ps 展示的容器ID只时原来的一部分

554ab7170af6

通过容器ID就能找到containers下具体哪一个是gitlab容器的配置
554ab7170af6f10f7388a577aed45658b39b5a926b8a3f55f7e0a2bfa22af879

进入容器配置目录

cd 554ab7170af6f10f7388a577aed45658b39b5a926b8a3f55f7e0a2bfa22af879

修改config.v2.json、hostconfig.json文件
在这里插入图片描述

vim config.v2.json

json文件很乱可以通过文件查询方式找到需要修改的地方
vim进入后可以使用Shift+/(打出问号?)直接输入关键字ExposedPorts(注:查询模式可以用N键跳转到下一个 #E91E63)
在这里插入图片描述

修改成如下即可然后保存

"ExposedPorts": {"18081/tcp": {},"22/tcp": {},"443/tcp": {},"80/tcp": {}}

修改hostconfig.json

vim hostconfig.json

老办法查询关键字PortBindings

直接修改成如下即可然后保存

"PortBindings": {"18081/tcp": [{"HostIp": "","HostPort": "18081"}],"22/tcp": [{"HostIp": "","HostPort": "10022"}]}

gitlab进阶配置

gitlab 设置账号密码

先登录到docker gitlab容器中

	docker exec -it 容器id /bin/bash

进入gitlab 控制台

gitlab-rails console -e production

登录成功

在这里插入图片描述

查看所有用户

User.all

在这里插入图片描述

上图可看出有两个账号

我们以root账号为例来修改密码

将用户对象赋值给user变量

user=User.find(1)

在这里插入图片描述

修改密码

user.password = 'new_password'

确认密码

user.password_confirmation = 'new_password'

在这里插入图片描述

保存

user.save!

在这里插入图片描述

查看用户状态

user.state
#查询其他用户的信息也可以通过以下命令
User.where(id:1).first
User.find_by(username:'root')
User.find_by(email:'*****@qq.com')

在这里插入图片描述

退出gitlab 控制台

exit;

相关文章:

Gitlab基础篇: Gitlab docker 安装部署、Gitlab 设置账号密码

文章目录 1、环境准备2、配置1)、初始化2)、修改gitlab配置文件3)、修改docker配置的gitlab默认端口 gitlab进阶配置gitlab 设置账号密码 1、环境准备 安装docker gitlab前确保docker环境,如果没有搭建docker请查阅“Linux docker 安装文档” docker 下载 gitlab容…...

c++常见函数处理

1、clamp clamp&#xff1a;区间限定函数 int64_t a Clamp(a, MIN_VALUE, MAX_VALUE); #include <iomanip> #include <iostream> #include <sstream>int main() {std::cout << "no setw: [" << 42 << "]\n"<&l…...

MYsql第二次作业

目录 问题 解答 1.显示所有职工的基本信息。 2.查询所有职工所属部门的部门号&#xff0c;不显示重复的部门号。 3.求出所有职工的人数。 4.列出最高工和最低工资。 5.列出职工的平均工资和总工资。 6.创建一个只有职工号、姓名和参加工作的新表&#xff0c;名为工作日…...

SQLAlchemy 第三篇

使用insert语句 from sqlalchemy import Table, Column, Integer, String, MetaDatametadata_obj MetaData() user_table Table("user_account",metadata_obj,Column("id", Integer, primary_keyTrue),Column("name", String(255)),Column(&q…...

交互过程中影响信息质量好坏的因素

人机交互是指人与计算机之间的交流和互动&#xff0c;而人人交流是指人与人之间的交流和互动。在信息质量方面&#xff0c;人机交互通常更为准确和精确&#xff0c;而人人交流可能存在误解、模糊和歧义。 人机交互的信息传递往往通过明确的界面、符号和指令等方式进行。计算机可…...

服务器上配置jupyter,提示Invalid credentials如何解决

我是按照网上教程在服务器上安装的jupyter以及进行的密码配置&#xff0c;我利用 passwd()这个口令生成的转译密码是"argon...."。按照教程配置jupyter notebook配置文件里面的内容&#xff0c;登陆网页提示"Invalid credentials"。我谷歌得到的解答是&…...

Axure中动态面板使用及轮播图多种登录方式左侧导航栏之案列

&#x1f3ac; 艳艳耶✌️&#xff1a;个人主页 &#x1f525; 个人专栏 &#xff1a;《产品经理如何画泳道图&流程图》 ⛺️ 越努力 &#xff0c;越幸运 目录 一、轮播图简介 1、什么是轮播图 2、轮播图有什么作用 3、轮播图有什么特点 4、轮播图适应范围 5、…...

大数据之旅-问题反思

1.谈谈你对MR执行流程各个阶段的理解&#xff08;提示里面涉及到排序&#xff0c;快速排序或者归并排序知道两种实现形式&#xff09;&#xff1f; 2.hadoop 1.0和hadoop 2.0明显的差异如何理解&#xff1f; hadoop2.0与hadoop1.0区别体现在在架构、性能、功能和组件方面&…...

系统级基础信号知识【Linux】

目录 一&#xff0c;什么是信号 进程面对信号常见的三种反应概述 二&#xff0c;产生信号 1.终端按键产生信号 signal 2. 进程异常产生信号 核心转储 3. 系统调用函数发送信号 kill raise abort 小结&#xff1a; 4. 由软件条件产生 alarm 5. 硬件异常产生信号…...

Excel单元格隐藏如何取消?

Excel工作表中的有些单元格隐藏了数据&#xff0c;如何取消隐藏行列呢&#xff1f;今天分享几个方法给大家 方法一&#xff1a; 选中隐藏的区域&#xff0c;点击右键&#xff0c;选择【取消隐藏】就可以了 方法二&#xff1a; 如果工作表中有多个地方有隐藏的话&#xff0c;…...

Visual Studio(VS)常用快捷键(最详细)

Visual Studio常用快捷键 一、生成&#xff1a;常用快捷键二、调式&#xff1a;常用快捷键三、编辑&#xff1a;常用快捷键四、文件&#xff1a;常用快捷键五、项目&#xff1a;常用快捷键六、重构&#xff1a;常用快捷键七、工具&#xff1a;常用快捷键八、视图&#xff1a;常…...

UDP特性之组播(多播)

UDP特性之组播 1. 组播的特点2. 设置主播属性2.1 发送端2.2 接收端 3. 组播通信流程3.1 发送端3.2 接收端 4. 通信代码 原文链接 在公司测试广播和多播有一点问题。。。 1. 组播的特点 组播也可以称之为多播这也是UDP的特性之一。组播是主机间一对多的通讯模式&#xff0c;是…...

ElasticSearch之cat shards API

命令样例如下&#xff1a; curl -X GET "https://localhost:9200/_cat/shards?vtrue&pretty" --cacert $ES_HOME/config/certs/http_ca.crt -u "elastic:ohCxPHQBEs5*lo7F9"执行结果输出如下&#xff1a; index shard prirep state docs s…...

Thread-Per-Message设计模式

Thread-Per-Message是为每一个消息的处理开辟一个线程&#xff0c;以并发方式处理&#xff0c;提高系统整体的吞吐量。这种模式再日常开发中非常常见&#xff0c;为了避免线程的频繁创建和销毁&#xff0c;可以使用线程池来代替。 示例代码如下&#xff1a; public class Requ…...

运筹学经典问题(一):指派问题

问题描述 有 N N N个任务&#xff0c;需要 N N N个人去完成&#xff0c;每个人完成不同工作的效率不同&#xff08;或者资源、收益等等&#xff09;&#xff0c;需要怎么分配使得整体的效率最高&#xff08;成本最低等等&#xff09;呢&#xff1f;这就是经典的指派问题啦&…...

产品经理之如何编写竞品分析(医疗HIS系统管理详细案例模板)

目录 一.项目周期 二.竞品分析的目的 三.竞品分析包含的维度 四.如何选择竞品 五.竞品画布 六.案例模板 一.项目周期 在整个项目的周期&#xff0c;产品经理所做的事情主要在项目前期做市场分析、需求调研等&#xff0c;下面一张图概况了整个项目周期产品经理、开发工程师…...

虚拟内存管理

虚拟内存管理 页面置换算法 功能和目标&#xff1a; 功能&#xff1a;当缺页中断发生&#xff0c;需要调入新的页面而内存已经满时&#xff0c;选择内存当中哪个物理页面被置换。目标&#xff1a;尽可能的减少页面的换进换出次数&#xff08;即缺页中断的次数&#xff09;。具…...

ssh时怎么同时指定其端口号,以及scp文件到远程的指定端口

如果想要通过 SSH 连接到指定端口的远程服务器&#xff0c;可以在 SSH 命令中使用 -p 或 --port 参数来指定端口号。以下是相应的用法&#xff1a; $ ssh -p <port> userhost其中&#xff0c; 是要连接的端口号&#xff0c;user 是远程服务器上的用户名&#xff0c;host…...

Redis过期淘汰策略

一. Redis过期淘汰策略 当Redis已用内存超过maxmemory限定时&#xff0c;触发主动清理策略。 主动清理策略在Redis 4.0之前一共实现了 6 种内存淘汰策略&#xff0c;在 4.0 之后&#xff0c;又增加了 2 种 策略&#xff0c;总共8种&#xff1a; 针对设置了过期时间的key做处理…...

微信小程序---自定义组件

目录 1.局部引用组件 2.全局引用组件 3.组件和页面的区别 4.自定义组件样式 5.properties属性 6.data和properties的区别 7.数据监听器 8.纯数据字段 9.自定义组件-组件的生命周期 lifetimes节点 10.组件所在的页面的生命周期 pageLifetimes节点 11.插槽 &#x…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望

文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例&#xff1a;使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例&#xff1a;使用OpenAI GPT-3进…...

【入坑系列】TiDB 强制索引在不同库下不生效问题

文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

23-Oracle 23 ai 区块链表(Blockchain Table)

小伙伴有没有在金融强合规的领域中遇见&#xff0c;必须要保持数据不可变&#xff0c;管理员都无法修改和留痕的要求。比如医疗的电子病历中&#xff0c;影像检查检验结果不可篡改行的&#xff0c;药品追溯过程中数据只可插入无法删除的特性需求&#xff1b;登录日志、修改日志…...

生成 Git SSH 证书

&#x1f511; 1. ​​生成 SSH 密钥对​​ 在终端&#xff08;Windows 使用 Git Bash&#xff0c;Mac/Linux 使用 Terminal&#xff09;执行命令&#xff1a; ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" ​​参数说明​​&#xff1a; -t rsa&#x…...

TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案

一、TRS收益互换的本质与业务逻辑 &#xff08;一&#xff09;概念解析 TRS&#xff08;Total Return Swap&#xff09;收益互换是一种金融衍生工具&#xff0c;指交易双方约定在未来一定期限内&#xff0c;基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

MySQL中【正则表达式】用法

MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现&#xff08;两者等价&#xff09;&#xff0c;用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例&#xff1a; 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...

Swagger和OpenApi的前世今生

Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章&#xff0c;二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑&#xff1a; &#x1f504; 一、起源与初创期&#xff1a;Swagger的诞生&#xff08;2010-2014&#xff09; 核心…...

有限自动机到正规文法转换器v1.0

1 项目简介 这是一个功能强大的有限自动机&#xff08;Finite Automaton, FA&#xff09;到正规文法&#xff08;Regular Grammar&#xff09;转换器&#xff0c;它配备了一个直观且完整的图形用户界面&#xff0c;使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...

STM32---外部32.768K晶振(LSE)无法起振问题

晶振是否起振主要就检查两个1、晶振与MCU是否兼容&#xff1b;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容&#xff08;CL&#xff09;与匹配电容&#xff08;CL1、CL2&#xff09;的关系 2. 如何选择 CL1 和 CL…...