2024最新docker部署gitlab

news2024/11/26 23:51:23

docker部署gitlab

快速命令

1 拉取镜像

docker pull gitlab/gitlab-ce

2 启动容器

docker run -itd  \

 -p 9980:80 \

 -p 9922:22 \

 -v /opt/soft/docker/gitlab/etc:/etc/gitlab  \

 -v /opt/soft/docker/gitlab/log:/var/log/gitlab \

 -v /opt/soft/docker/gitlab/opt:/var/opt/gitlab \

 --restart always \

 --privileged=true \

 --name gitlab \

 gitlab/gitlab-ce

/opt/soft/docker/gitlab/opt 是宿主机 也就是外面的机器。

这个会自动创建

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

-t 为容器重新分配一个伪输入终端,通常与 -i 同时使用

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

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

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

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

--restart always容器自启动

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

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

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

3 修改配置文件并配置邮箱

注意:这里是把4.3放到4.2后面配置,然后再操作4.4。原因是希望在4.4中统一修改端口,如果4.3和4.2分开配置,会容易遗漏修改4.4中的端口,从而在clone项目时,导致链接中没有端口的bug。

4、配置环境

4.1 开放linux端口

先开放gitlab使用的linux端口。

1.开放服务器端口


firewall-cmd --zone=public --add-port=9980/tcp --permanent

firewall-cmd --zone=public --add-port=9922/tcp --permanent

云服务器 需要放开9980 9922

2. 重启防火墙
firewall-cmd --reload
3.查询有哪些端口是开启的
firewall-cmd --list-port

4.2 设置IP、端口

以下操作均在容器中执行

进入容器

docker exec -it gitlab /bin/bash

修改配置文件

vi /etc/gitlab/gitlab.rb

在开头加入以下内容:

公网ip: 你的ip

111.231.74.191

**注意:**external_url 的地址后面不能加端口,否则即使部署成功也无法访问。

#gitlab访问地址,可以写域名。如果端口不写的话默认为80端口
external_url 'http://111.231.74.191'
#ssh主机ip
gitlab_rails['gitlab_ssh_host'] = '111.231.74.191'
#ssh连接端口
gitlab_rails['gitlab_shell_ssh_port'] = 9922
#时区
gitlab_rails['time_zone'] = 'Asia/Shanghai'
#开启备份功能
gitlab_rails['manage_backup_path'] = true
#备份文件的权限
gitlab_rails['backup_archive_permissions'] = 0644
#保存备份 60 天
gitlab_rails['backup_keep_time'] = 5184000

4.3 配置邮箱

邮箱是企业进行工作中的通知,交互必不可少的部分,gitlab同样支持邮箱的配置,方便对一些操作有邮件的提醒。

开启smtp功能

注意事项:一定要搞清楚邮件服务的端口到底是哪个,不然配置完后测试邮件发送会提示链接超时,也可以在docker部署的gitlab容器内

telnet IP 端口 来判断邮箱的地址和端口是否正确,如果正确则不报错,后面也会给出具体的配置。

QQ邮箱SMTP 服务器地址及端口:

img

163邮箱SMTP 服务器地址及端口

img

进入gitlab容器内部修改配置

docker exec -it gitlab /bin/bash

建议先在器内 telnet IP 端口 来确定邮件的SMTP服务能否链接上。

修改配置文件

vi /etc/gitlab/gitlab.rb

QQ邮箱:【注意端口】推荐,因为163邮箱可能会出现telnet端口不通的问题。

经测试,QQ的英文邮箱和数字邮箱可以共用同一个授权码。

gitlab_rails['smtp_enable'] = true

gitlab_rails['smtp_address'] = 'smtp.qq.com'

gitlab_rails['smtp_port'] = 587

gitlab_rails['smtp_user_name'] = '发件邮箱'

gitlab_rails['smtp_password'] = '第三方登录授权码'

gitlab_rails['smtp_domain'] = 'smtp.qq.com'

gitlab_rails['smtp_authentication'] = 'login'

gitlab_rails['smtp_enable_starttls_auto'] = true

gitlab_rails['smtp_tls'] = false

gitlab_rails['smtp_pool'] = '发件邮箱'

gitlab_rails['gitlab_email_enabled'] = true

gitlab_rails['gitlab_email_from'] = '发件邮箱'

# gitlab_rails['gitlab_email_display_name'] = 'Example'

163邮箱:【注意端口】

gitlab_rails['smtp_enable'] = true

gitlab_rails['smtp_address'] = 'smtp.163.com'

gitlab_rails['smtp_port'] = 25

gitlab_rails['smtp_user_name'] = '发件邮箱'

gitlab_rails['smtp_password'] = '第三方登录授权码'

gitlab_rails['smtp_domain'] = 'smtp.163.com'

gitlab_rails['smtp_authentication'] = 'login'

gitlab_rails['smtp_enable_starttls_auto'] = true

gitlab_rails['smtp_tls'] = false

gitlab_rails['smtp_pool'] = '发件邮箱'

 

gitlab_rails['gitlab_email_enabled'] = true

gitlab_rails['gitlab_email_from'] = '发件邮箱'

# gitlab_rails['gitlab_email_display_name'] = 'Example'

以上两个厂商的邮箱配置已验证,可用。

5、gitlab.rc统一配置

673170360@qq.com

‘gitlab的密码’

输入命令:telnet smtp.qq.com 587

220 newxmesmtplogicsvrszb9-0.qq.com XMail Esmtp QQ Mail Server.

111.231.74.191 是我的公网ip 要换成你的

#gitlab访问地址,可以写域名。如果端口不写的话默认为80端口
external_url 'http://111.231.74.191'
#ssh主机ip
gitlab_rails['gitlab_ssh_host'] = '111.231.74.191'
#ssh连接端口
gitlab_rails['gitlab_shell_ssh_port'] = 9922
#时区
gitlab_rails['time_zone'] = 'Asia/Shanghai'
#开启备份功能
gitlab_rails['manage_backup_path'] = true
#备份文件的权限
gitlab_rails['backup_archive_permissions'] = 0644
#保存备份 60 天
gitlab_rails['backup_keep_time'] = 5184000

 

 

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = 'smtp.qq.com'
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = '你的邮箱(需要修改)'
gitlab_rails['smtp_password'] = '你的邮箱授权(需要修改)'
gitlab_rails['smtp_domain'] = 'smtp.qq.com'
gitlab_rails['smtp_authentication'] = 'login'
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false
gitlab_rails['smtp_pool'] = 你的邮箱(需要修改)'
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = '你的邮箱(需要修改)'
# gitlab_rails['gitlab_email_display_name'] = '君临'

5.1 让配置生效

在4.2、4.3都配置完毕后再执行4.4的步骤。

让配置生效

gitlab-ctl reconfigure

输入命令后,会执行一系列操作,直到最后出现:gitlab Reconfigured!

修改gitlab.yaml 文件

vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml

默认为80端口,修改端口号为之前配置的端口

img

重启gitlab服务

gitlab-ctl restart

测试执行gitlab-rails console进入控制台交互界面,然后在控制台提示符后输入下面内容发送一封测试邮件,测试完成后exit()退出。

gitlab-rails console

# 示例

Notify.test_email('你的邮箱地址', 'GitLab email', 'Hello world').deliver_now

img

img

退出容器

exit;

6、管理员登录Gitlab

查找管理员(root)的密码,进入容器

docker exec -it gitlab /bin/bash

查看初始密码

cat /etc/gitlab/initial_root_password

你的密码*

img

登录

111.231.74.191:9980

root

***你的密码****

账号:root

密码:【上一步查看的密码】

修改超级管理员的密码

7、关闭用户自动注册功能

tips:自己记录一下。不用管

http://111.231.74.191:9980/projects/new#blank_project

111.231.74.191

参考
http://t.csdnimg.cn/9YTZz

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

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

相关文章

MATLAB语音信号分析与合成——MATLAB语音信号分析学习资料汇总(图书、代码和视频)

教科书:MATLAB语音信号分析与合成(第2版) 链接(含配套源代码):https://pan.baidu.com/s/1pXMPD_9TRpJmubPGaRKANw?pwd32rf 提取码:32rf 基础入门视频: 视频链接: 清…

为什么我的Mac运行速度变慢 mac运行速度慢怎么办 如何使用CleanMyMac X修复它

近些年伴随着苹果生态的蓬勃发展,越来越多的用户开始尝试接触Mac电脑。然而很多人上手Mac后会发现,它的使用逻辑与Windows存在很多不同,而且随着使用时间的增加,一些奇奇怪怪的文件也会占据有限的磁盘空间,进而影响使用…

红黑树笔记

2-3树 -> 左倾红黑树 红黑树实际上是2-3树的一种基于BST的实现。普通二叉搜索树(BST)中的每一个节点,只有一个键,两条链接(两个子节点),这种节点被称为2节点。2-3树中,引入了一个…

利用二叉检索树将文章中的单词建立索引(正则表达式)

知识储备 链接: 【二叉检索树的实现——增删改查、读取命令文件、将结果写入新文件】 1、正则表达式的处理 (1)r’前缀的作用 r’前缀的用于定义原始字符串,特点是不会处理反斜杠\作为转义字符 (2)正则表达式中元…

335GB,台北地区倾斜摄影OSGB数据V0.2版介绍!

前几天发布了台北地区倾斜摄影OSGB数据第一个版本(139GB,台北倾斜摄影OSGB数据V0.1版),虽然数据还是一个半成品,完全没想到热度很高,很多读者对这份数据都有比较浓厚的兴趣,在这里首先感谢各位读者的大力支持与鼓励,给了我持续更新…

Arm Linux 移植 Air724UG 4G模块-USB方式

目录 一、开发环境二、连接方式三、4G模组的 VID 和 PID四、Linux kernel 的配置五、ppp的编译六、测试 一、开发环境 开发板:NUC980 iot开发板 4G模块:银尔达 Core-Air724 二、连接方式 micro usb线,一端连接4G模组,一端连接N…

亚马逊云科技AWS将推出数据工程师全新认证(有资料)

AWS认证体系最近更新,在原有12张的基础上,将在2023年11月27日添加第13张,数据工程师助理级认证(Data Engineer Associate),并且在2024/1/12前半价(省75刀=544人民币。 原有的数据分析专家级认证(Data Analytics Specia…

Spark-机器学习(7)分类学习之决策树

在之前的文章中,我们学习了分类学习之支持向量机,并带来简单案例,学习用法。想了解的朋友可以查看这篇文章。同时,希望我的文章能帮助到你,如果觉得我的文章写的不错,请留下你宝贵的点赞,谢谢。…

java-链表排序

需求 思路 排序:讲所有的值都取出来,存储到ArrayList中,然后排序,将排序之后的元素依次使用add方法添加到自定义链表合并排序:先合并,然后调用刚才写的排序算法合并:将表一的头结点作为新链表的…

kerberos-hive-dbeaver问题总结

一、kerberos安装windows客户端 1、官方下载地址 http://web.mit.edu/kerberos/dist/ 2、环境变量配置 下载msi安装包,无需重启计算机,调整环境变量在jdk的前面,尽量靠前,因为jdk也带了kinit、klist等命令 C:\Program Files\…

[动画+注释详解]数据结构 - 直接插入排序

一. 直接插入排序算法的实现 1.1 基本思想 直接插入排序(Straight Insertion Sort)是一种简单直观的排序算法,它的基本思想是将一个待排序的记录插入到已经排序好的有序表中,从而得到一个新的、记录数增加1的有序表。 实际中&am…

Oracle对空值(NULL)的 聚合函数 排序

除count之外sum、avg、max、min都为null,count为0 Null 不支持加减乘除,大小比较,相等比较,否则只能为空;只能用‘is [not] null’来进行判断; Max等聚合函数会自动“过滤null” null排序默认最大&#xf…

特别的时钟特别的倒计时

念念不忘的歌曲&#xff1a;Thats Why You Go Away <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title&…

线上线下交友社区系统,支持打包小程序/公众号/H5,源码交付!

上网交友的好处有很多&#xff0c;以下是一些主要的好处&#xff1a; 1. 拓展人际关系&#xff1a;通过上网交友可以认识更多的人&#xff0c;拓展自己的社交圈。这有助于扩大自己的视野、增加人生经验和开阔心胸。 2. 找到志同道合的朋友&#xff1a;在网络上&#xff0c;我们…

《面向云计算的零信任体系第1部分:总体架构》行业标准正式发布

中华人民共和国工业和信息化部公告2024年第4号文件正式发布行业标准&#xff1a;YD/T 4598.1-2024《面向云计算的零信任体系 第1部分&#xff1a;总体架构》&#xff08;后简称“总体架构”&#xff09;&#xff0c;并于2024年7月1日正式施行。 该标准由中国信通院牵头&#xf…

装饰器模式、代理模式、适配器模式对比

装饰器模式、代理模式和适配器模式都是结构型设计模式&#xff0c;它们的主要目标都是将将类或对象按某种布局组成更大的结构&#xff0c;使得程序结构更加清晰。这里将装饰器模式、代理模式和适配器模式进行比较&#xff0c;主要是因为三个设计模式的类图结构相似度较高、且功…

如何讲好ppt演讲技巧(4篇)

如何讲好ppt演讲技巧&#xff08;4篇&#xff09; 如何讲好PPT演讲技巧&#xff08;四篇&#xff09; **篇&#xff1a;精心准备&#xff0c;奠定演讲基础 一个成功的PPT演讲&#xff0c;离不开精心的准备。首先&#xff0c;要确定演讲的主题和目标&#xff0c;确保演讲内容清…

SpringMVC进阶(自定义拦截器以及异常处理)

文章目录 1.自定义拦截器1.基本介绍1.说明2.自定义拦截器的三个方法3.流程图 2.快速入门1.Myinterceptor01.java2.FurnHandler.java3.springDispatcherServlet-servlet.xml配置拦截器4.单元测试 3.拦截特定路径1.拦截指定路径2.通配符配置路径 4.细节说明5.多个拦截器1.执行流程…

七彩虹(Colorful)隐星P16 2023款笔记本电脑原装出厂Win11系统镜像下载 带建Recovery一键还原功能

七彩虹原厂Windows预装OEM专用系统&#xff0c;恢复出厂开箱状态一模一样 适用型号&#xff1a;隐星P16 23 链接&#xff1a;https://pan.baidu.com/s/1Ig5MQMiC8k4VSuCOZRQHUw?pwdak5l 提取码&#xff1a;ak5l 原厂W11系统自带所有驱动、出厂时自带的主题与专用壁纸、系…

第 4 篇 : Netty客户端互发图片和音/视频

说明 因为图片和音/视频不能确定其具体大小, 故引入MinIO。客户端之间只发送消息, 通过上传/下载来获取额外信息 1. MinIO搭建(参考前面文章), 并启动 2. 登录MinIO创建3个Bucket: image、voice、video 3. 客户端改造 3.1 修改 pom.xml <?xml version"1.0" …