通过docker搭建gitlab

article/2025/10/14 5:59:24

通过docker搭建gitlab

一、安装

拉取docker镜像

docker pull gitlab/gitlab-ce

启动容器

docker run -d  -p 4443:443 -p 8080:80 -p 222:22 --name gitlab --restart always -v /home/gitlab/config:/etc/gitlab -v /home/gitlab/logs:/var/log/gitlab -v /home/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce

命令解释

docker run 
-d                #后台运行,全称:detach
-p 8443:443      #将容器内部端口向外映射
-p 8080:80       #将容器内80端口映射至宿主机8080端口,这是访问gitlab的端口
-p 222:22       #将容器内22端口映射至宿主机222端口,这是访问ssh的端口
--restart always #容器自启动
--name gitlab    #设置容器名称为gitlab
-v /usr/local/gitlab/etc:/etc/gitlab    #将容器/etc/gitlab目录挂载到宿主机/usr/local/gitlab/etc目录下,若宿主机内此目录不存在将会自动创建
-v /usr/local/gitlab/log:/var/log/gitlab   
-v /usr/local/gitlab/data:/var/opt/gitlab  
--privileged=true         #让容器获取宿主机root权限
gitlab/gitlab-ce    #镜像的名称

查询容器是否启动

docker ps

修改容器内配置文件

进入容器

docker exec -it gitlab bash 

修改文件gitlab.rb

vi /etc/gitlab/gitlab.rb

修改内容

// 在gitlab创建项目时候http地址的host(不用添加端口)
external_url 'http://192.168.1.100'
//配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = '192.168.1.100' //和上一个IP输入的一样
gitlab_rails['gitlab_shell_ssh_port'] = 222 // 此端口是run时22端口映射的222端口

配置gitlab.yml

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

修改内容,修改host和port

 ## GitLab settingsgitlab:## Web server settings (note: host is the FQDN, do not include http://)host: 192.168.1.100port: 8080https: false

重启服务

gitlab-ctl restart

退出容器

exit

二、gitlab root账户配置

修改root账户的密码

临时密码存放于/etc/gitlab/initial_root_password,这个文件在首次执行24小时后会被删除

进入容器,查询临时密码

docker exec -it gitlab /bin/bash
cat /etc/gitlab/initial_root_password

修改root密码

登录后点击右上角头像->Edit Profile

在这里插入图片描述

左侧菜单栏点击password

在这里插入图片描述

根据提示进行密码修改

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Z7N8jgzG-1660893363646)(/Users/ljj/Library/Application Support/typora-user-images/image-20220819132552088.png)]

三、开放用户注册

gitlab默认注册用户需要经过root账户审批。我的应用环境为专有内网,允许任何人直接注册。因此需要开放所有用户注册。

点击左上角菜单(Menu),点击Admin

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-enM5GDuf-1660893363646)(/Users/ljj/Library/Application Support/typora-user-images/image-20220819133039215.png)]

点击Setings -> General -> Sign-up restrictions。

将Require admin approval for new sign-ups 选项取消勾选。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zXH5NmIT-1660893363647)(/Users/ljj/Library/Application Support/typora-user-images/image-20220819151327198.png)]

若不想开放用户注册,可讲Sign-up enabled取消勾选。

最后,点击拉至下方点击save changes进行保存

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-I0MM73ld-1660893363647)(/Users/ljj/Library/Application Support/typora-user-images/image-20220819151425333.png)]


http://chatgpt.dhexx.cn/article/JxbKWsxt.shtml

相关文章

gitlab-runner 注册失败

问题: 用docker启动gitlab-runner,注册runner 时报错:PANIC: Failed to register the runner. You may be having network problems。 不仅如此,我用gitlab-runner verify命令,也是报错:ERROR: Verifying r…

gitlab:(二)gitlab注册用户和邀请进入项目的问题

.新注册用户无法在管理员界面激活 在管理员界面无法进行管理,找不到相关的操作界面 当前gitlab版本 尝试降低gitlab版本 卸载之后删除残留文件 安装指定的低版本:gitlab-ce-12.7.5-ce.0.el7.x86_64.rpm yum install policycoreutils openssh-server op…

注册gitlab-runner

注册gitlab-runner 一、注册gitlab-runner(shared)二、注册gitlab-runner(group)三、注册gitlab-runner(specific) 使用管理员账号登录gitlab 一、注册gitlab-runner(shared) shared类型的gitlab-runner会运行整个gitlab平台项目中的作业; 二、注册gitlab-runne…

gitLab注册There was an error with the reCAPTCHA. Please solve the reCAPTCHA again.

目录 解决方案:第一步:第二步: Gitlab注册时报错:There was an error with the reCAPTCHA. Please solve the reCAPTCHA again. 今天注册时碰到以下问题: 提交后,给出如下图示 上面的错误是因为注册时有一…

gitlab-runner配置与注册

(1)启动gitlab-runner #创建volume docker volume create gitlab-runner-my-config #docker启动runner docker run -d --name gitlab-my-runner --restart always --nethost \-v /var/run/docker.sock:/var/run/docker.sock \-v gitlab-runner-my-conf…

gitLab账号注册,登陆,配置SSH,验证

文章目录 前言注册账号登陆添加SSH验证配置 前言 本文主要目的是讲述gitlab账号注册,登陆功能,以及如何生成ssh key,并添加ssh key到gitlab中。通过git工具将gitlab上的代码拉取到本地来验证ssh功能是否进行了有效的配置 注册账号 第一步&…

Servlet 过滤器( Filter )

Servlet 过滤器( Filter ) 原理图: 过滤器的使用场景 登录权限验证、资源访问权限控制、敏感词汇过滤、字符编码转换过滤器的优势 便于代码重用,不必每个servlet中还要进行相应的操作配置方式 web配置方式 <!--过滤器的xml配置 --> <filter><!--名称-->…

servlet过滤器中的注解配置详解

文章目录 注解配置WebFilter中的属性1. urlPatterns2. initParams3. dispatcherTypes 多个过滤器的执行顺序销毁阶段的触发机制 注解配置WebFilter中的属性 1. urlPatterns 指定一组过滤器的 URL 匹配模式。等价于 标签。 例1&#xff1a;将所有的请求都过滤掉 配置如果是指定…

Servlet过滤器与SpringMVC拦截器

Servlet API中提供了一个Filter接口&#xff0c;开发web应用时&#xff0c;如果编写的Java类实现了这个接口&#xff0c;则把这个java类称之为过滤器Filter。Web开发人员通过Filter技术&#xff0c;对web服务器管理的所有web资源&#xff1a;例如Jsp, Servlet, 静态图片文件或静…

JavaWeb Servlet过滤器概述

Servlet过滤器 1、什么是过滤器 Servlet过滤器具有拦截浏览器端请求的功能&#xff0c;Servlet过滤器可以改变请求中的内容来满足实际开发中的需求。 实质上Servlet过滤器就是在web应用服务器中的一个web应用组件&#xff0c;用于拦截浏览器与目标资源的请求&#xff0c;并对…

Servlet+过滤器

一、Servlet 1.1 概念 Servlet&#xff1a;Server Applet的简称&#xff0c;是服务器端的程序&#xff08;代码、功能实现&#xff09;&#xff0c;可交互式的处理客户端发送到服务端的请求&#xff0c;并完成操作响应。动态网页技术JavaWeb程序开发的基础&#xff0c;JavaEE…

java servlet过滤器简解及实例

在整个概念中&#xff0c;个人觉得有一篇文章写得不错&#xff0c;通俗易懂&#xff0c;这里就直接套用以上原博文&#xff0c; 一、概念&#xff1a; Filter也称之为过滤器&#xff0c;它是Servlet技术中比较激动人心的技术&#xff0c;WEB开发人员通过Filter技术&#xff0c;…

Servlet过滤器案例-自动登录

使用过滤器实现自动登录 登录的jsp页面 <% page language"java" import"java.util.*" pageEncoding"UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head> <title&g…

Servlet过滤器拦截器

文章目录 1、什么是Servlet&#xff1f;2、过滤器与拦截器的区别 1、什么是Servlet&#xff1f; 参考&#xff1a;https://blog.csdn.net/wozaibohaibian/article/details/124778494 ​ servlet就是一个组件,需要符合servlet规范,并且需要部署到servlet容器里面才能运行 注&…

servlet过滤器原理及使用

原理 首先了解什么是过滤器&#xff0c;各种文章已经写的很清楚了 引用来自这篇大牛的博客 是Servlet技术中最激动人心的技术&#xff0c;WEB开发人员通过Filter技术&#xff0c;对web服务器管理的所有web资源&#xff1a;例如Jsp, Servlet, 静态图片文件或静态 html 文件等进…

Servlet——过滤器

Servlet过滤器 什么是过滤器 过滤器是一个程序&#xff0c;它先于与之相关的Servlet页面运行在服务器上&#xff0c;但它并不是一个标准的Servlet&#xff0c;它不能处理用户请求&#xff0c;也不能对客户端生成响应。它主要用于对HttpServletRequest进行预处理&#xff0c;也…

servlet过滤器的简单使用

为什么要用过滤器或者拦截器&#xff1f; 简单来讲&#xff0c;当一个账户需要进入某个系统调用某个接口时&#xff0c;我们需要对其进行相应验证&#xff0c;否则一旦接口暴露&#xff0c;可能会造成系统崩溃。这个时候我们就需要用拦截器对调用接口一方进行身份验证。 serv…

Servlet过滤器Filter

Servlet Filter 又称 Servlet 过滤器&#xff0c;它是在 Servlet 2.3 规范中定义的&#xff0c;能够对 Servlet 容器传给 Web 资源的 request 对象和 response 对象进行检查和修改。Filter 不是 Servlet&#xff0c;不能直接访问&#xff0c;它本身也不能生成 request 对象和 r…

Servlet之过滤器

问题引入 以往的Servlet中&#xff0c;有冗余代码&#xff0c;多个servlet都要进行编写 概念 过滤器(Filter)是处于客户端于服务器资源之间的一道技术。 图示&#xff1a; 过滤器的作用 执行地位在Servlet之前&#xff0c;客户端发送请求时&#xff0c;会先经过Filter&#xff…

servlet过滤器的介绍

servlet过滤器是服务器与客户端请求与响应的中间层组件&#xff0c;它主要是用于对浏览器的请求进行过滤处理&#xff0c;并将过滤后的请求再转给下一个资源。 servlet过滤器的基本概念 Servlet过滤器从字面上的字意理解为经过一层次的过滤处理才达到使用的要求&#xff0c;而…