Docker部署gitlab_ce(避坑版---社区版)

news2024/10/6 6:51:24

1 下载docker
2 下载gitlab镜像
3 运行
4 进入容器内部修改
5 在浏览器里访问
6 修改root密码(如果忘记请修改)

1 下载docker

# 安装依赖
yum install -y yum-utils device-mapper-persistent-data lvm2

# 设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 安装docker
yum install -y docker-ce

# 设置开机启动
systemctl enable docker

# 启动 Docker
systemctl start docker

# 查看版本
docker version

2 下载gitlab镜像

docker pull gitlab/gitlab-ce:latest

3 运行

mkdir gitlab gitlab/etc gitlab/log gitlab/opt  

docker run -id -p 3000:80 -p 9922:22 -v /root/gitlab/etc:/etc/gitlab  -v /root/gitlab/log:/var/log/gitlab -v /root/gitlab/opt:/var/opt/gitlab --restart always --privileged=true --name gitlab gitlab/gitlab-ce

'''
命令解释:
-i  以交互模式运行容器,通常与 -t 同时使用命令解释:

-d  后台运行容器,并返回容器ID

-p 3000:80  将容器内80端口映射至宿主机9980端口,这是访问gitlab的端口

-p 9922:22  将容器内22端口映射至宿主机9922端口,这是访问ssh的端口

-v ./gitlab/etc:/etc/gitlab  将容器/etc/gitlab目录挂载到宿主机./gitlab/etc目录下,若宿主机内此目录不存在将会自动创建,其他两个挂载同这个一样

--restart always  容器自启动

--privileged=true  让容器获取宿主机root权限

--name gitlab-test  设置容器名称为gitlab

gitlab/gitlab-ce  镜像的名称,这里也可以写镜像ID
'''

4 进入容器内部修改

docker exec -it gitlab /bin/bash

# 修改gitlab.rb
vi /etc/gitlab/gitlab.rb
## 加入如下
# gitlab访问地址,可以写域名。如果端口不写的话默认为80端口
external_url 'http://10.0.0.201'
# ssh主机ip
gitlab_rails['gitlab_ssh_host'] = '10.0.0.201'
# ssh连接端口
gitlab_rails['gitlab_shell_ssh_port'] = 9922

# 让配置生效
gitlab-ctl reconfigure

### 注意不要重启,/etc/gitlab/gitlab.rb文件的配置会映射到gitlab.yml这个文件,由于咱们在docker中运行,在gitlab上生成的http地址应该是http://101.133.225.166:3000,所以,要修改下面文件

# 修改http和ssh配置
vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml

  gitlab:
    host: 10.0.0.201
    port: 3000 # 这里改为3000
    https: false


# 重启
gitlab-ctl restart
# 退出容器
exit

5 在浏览器里访问

# 机器配置要大于4g,否则很容易启动不了,报502
http://10.0.0.201:3000/

# 第一次访问,会让修改root密码
# 修改后以root用户登录即可

在这里插入图片描述

6 修改root密码(如果忘记请修改)

# 进入容器内部
docker exec -it gitlab /bin/bash

# 进入控制台
gitlab-rails console -e production

# 查询id为1的用户,id为1的用户是超级管理员
user = User.where(id:1).first
# 修改密码为xxx,这里设置你的密码,我的密码就不公开了哈
user.password='xxx'
# 保存
user.save!
# 退出
exit

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

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

相关文章

开放式耳机选择什么品牌?六款口碑好爆的开放式耳机盘点

喜欢把户外运动纳入生活计划的朋友,都是懂得享受生活的乖仔,那么大家也需要一副既匹配运动场景又可保护听力,同时还有好音质相伴的耳机一起出发运动吧?在各商家卯足劲儿推出创新产品、伙计们也都挑得眼花缭乱的时候,我…

Linux基础指令(一)

📙作者简介: 清水加冰,目前大二在读,正在学习C/C、Python、操作系统、数据库等。 📘相关专栏:C语言初阶、C语言进阶、C语言刷题训练营、数据结构刷题训练营、有感兴趣的可以看一看。 欢迎点赞 &#x1f44d…

进来了解实现官网搜索引擎的三种方法

做网站的目的是对自己的品牌进行推广,让越来越多的人知道自己的产品,但是如果只是做了一个网站放着,然后等着生意找上门来那是不可能的。在当今数字时代,实现官网搜索引擎对于提升用户体验和推动整体性能至关重要。搜索引擎可以帮…

echarts画电压线

ChartLibhttp://chartlib.datains.cn/detail?idx0R9f3tOqMExamples - Apache EChartsApache ECharts,一款基于JavaScript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。https://echarts.ap…

【二甲医院his系统源码】医疗卫生信息化大数据平台源码

基于云计算技术的SaaS服务的医院信息系统源码 云HIS系统有效实现医疗数据共享与交换,解决数据重复采集及信息孤岛等问题。重构管理服务流程,重建统一的信息架构体系,重造病人服务环境,向不同类型的医疗机构提供SaaS化HIS服务解决…

VNC:Timed out waiting for a response from the computer

VNC的服务端使用的是TigerVNC,客户端使用的是RealVNC TigerVNC按其他博客配好后,防火墙ip什么的都配了,vnc客户端怎么连都是超时。 这里建议大家可以尝试一下重启服务器。我的是CentOS的 shutdown -r now 配了2天,最后服务器重启…

Docker 的数据管理和网络通信

目录 Docker 的数据管理 管理 Docker 容器中数据的方式 端口映射 容器互联(使用centos镜像) Docker 镜像的创建 Dockerfile 操作常用的指令 编写 Dockerfile 时格式 Dockerfile 案例 Docker 的数据管理 管理 Docker 容器中数据的方式 管理 Doc…

第一个 Python 程序

三、第一个 Python 程序 好了,说了那么多,现在我们可以来写一下第一个 Python 程序了。 一开始写 Python 程序,个人不太建议用专门的工具来写,不方便熟悉语法,所以这里我先用 Sublime Text 来写,后期可以…

Commonjs与ES Module

commonjs 1 commonjs 实现原理 commonjs每个模块文件上存在 module,exports,require三个变量,然而这三个变量是没有被定义的,但是我们可以在 Commonjs 规范下每一个 js 模块上直接使用它们。在 nodejs 中还存在 __filename 和 __dirname 变…

信创之国产浪潮电脑+统信UOS操作系统体验4:visual studio code中怎么显示中文

☞ ░ 前往老猿Python博客 ░ https://blog.csdn.net/LaoYuanPython 一、引言 今天在vscode中打开以前的一段C代码,其中的中文显示为乱码,如图所示: 而在统信文本编辑器打开是正常的,打开所有菜单,没有找到相关配置…

物联网AI MicroPython传感器学习 之 CCS811空气质量检测传感器

学物联网,来万物简单IoT物联网!! 一、产品简介 通过CCS811传感器模块可以测量环境中TVOC(总挥发性有机物质)浓度和eCO2(二氧化碳)浓度,作为衡量空气质量(IAQ)的指标。 引脚定义 VCC:3.3VGND&…

选择适合你的知识付费小程序平台

在建立知识付费小程序之前,选择一个适合你需求的平台是至关重要的。本文将探讨几个知识付费小程序平台,并提供代码示例,帮助你了解如何在这些平台上开始搭建自己的知识付费应用。 1. 平台选择:WeChat 小程序 微信小程序是一个强…

scala代码连接华为云dws(gaussDB 200)数据库,适用于本地jar包引入maven库(gsjdbc200.jar)

scala代码连接华为云dws(gaussDB 200)数据库,适用于所有本地jar包引入maven库。 我们本地jar包通常只有一个jar包,没有pom等其他maven引入文件,在非内网等环境中,经常使用mvn install失败导致无法编译jar包到maven中&a…

PowerManagerServcie

PowerManagerServcie(PMS) 1. 电源管理架构2.电源管理4个层次3.电源管理服务 - PowerManagerService 1. 电源管理架构 PowerManagerService是android系统电源管理的核心服务。 PowerManagerService继承自SystemService,在SystemServer的main()方法中&am…

Arbitrum Stylus 的工作原理

理解 Arbitrum 如何协调 EVM 和 WASM 的共存是至关重要的。这不仅仅是拥有两个独立的引擎;这是一种增强两者优势的协同关系。 Arbitrum 的独特架构允许 EVM 和 WASM 之间进行无缝和同步的操作,这要归功于其统一的状态、跨 VM 调用和兼容的经济模型。 用…

Go 快速开发朋友圈助力项目

1.根据业务完成不同功能数据表的设计和编写 注册功能 在models/user.go中定义结构体 验证用户名是否已存在 添加用户 package modelsimport ("gin-ranking/dao""time" )type User struct {Id int json:"id"Username string json:&…

面包屑对格林童话里的兄妹没有帮助,但对你的网站有

早上看产研周报的时候瞄到一眼「面包屑」三个字,因为是个面包脑袋,所以快速识别到了这几个字,在我的认知里,面包屑和 Bytebase 好像并不对付? 其实这里说的是面包屑导航啦,加上图是不是容易理解一点&#x…

Linux进阶-加深进程印象

进程 进程状态转换 一般来说,一个进程的开始都是从其父进程调用fork()函数开始,所以在系统一上电运行时,init进程就开始工作,在系统运行过程中,会不断启动新的进程(要么由init进程启动,要么由被…

Floyd-Warshall最短路径(C++,例题:pta大众情人)

Floyd-Warshall算法是一种用于求解所有点对之间最短路径的动态规划算法。它可以处理带权有向图或无向图,但是不能处理带负环的图。 算法步骤如下: 1. 初始化一个nn的矩阵D,其中D[i][j]表示从顶点i到顶点j的最短路径长度,如果i和…

文心一言 VS 讯飞星火 VS chatgpt (111)-- 算法导论10.2 2题

二、用go语言,用一个单链表 L实现一个栈。要求操作 PUSH和 POP 的运行时间仍为 O(1)。 文心一言: 在 Go 语言中,我们可以用结构体来实现一个单链表,然后再用栈的相关操作。 以下是一个可能的实现方式: package mai…