Ubuntu 通过 Docker 搭建 GitLab

准备工作

1.)更新软件。确保你的系统是最新

sudo apt update
sudo apt upgrade -y

2.)安装 Docker 和 Docker Compose。

参考:Ubuntu 上安装 Docker-CSDN博客

1. 创建 GitLab 目录

创建一个用于存储 GitLab 数据和配置的目录:

mkdir -p ~/gitlab/config ~/gitlab/logs ~/gitlab/data

2. 创建 docker-compose.yml 文件

在 ~/gitlab 目录下创建 docker-compose.yml 文件,并添加以下内容:

version: '3'
services:
  gitlab:
    image: gitlab/gitlab-ee:latest  # 可以根据需要选择 gitlab-ce
    restart: always
    hostname: 'gitlab.example.com'   # 替换为你的域名或 IP 地址
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://gitlab.example.com'  # 替换为你的域名或 IP 地址
        gitlab_rails['time_zone'] = 'Asia/Shanghai'  # 设置时区
    ports:
      - '80:80'  # HTTP
      - '443:443'  # HTTPS
      - '22:22'  # SSH
    volumes:
      - ./config:/etc/gitlab
      - ./logs:/var/log/gitlab
      - ./data:/var/opt/gitlab

3. 启动 GitLab

在 ~/gitlab 目录中,使用 Docker Compose 启动 GitLab:

cd ~/gitlab
sudo docker-compose up -d

4. 访问 GitLab

在浏览器中访问 http://gitlab.example.com(替换为你的域名或 IP 地址),然后根据提示完成 GitLab 的初始配置。

5. 检查 GitLab 状态

要查看 GitLab 的状态,可以运行以下命令:

sudo docker-compose ps

补充:

1.)配置防火墙(可选)

sudo ufw allow http
sudo ufw allow https
sudo ufw allow ssh

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

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

相关文章

k8s芜湖

一、k8s简介及部署方法 1、k8s简介 kubernetes的本质是一组服务器集群,它可以在集群的每个节点上运行特定的程序,来对节点中的容器进行管理。目的是实现资源管理的自动化,主要提供了如下的主要功能: 自我修复:一旦某一…

Acwing 贪心算法遗留

1.Huffman树 Acwing 148.合并果子 实现思路:构建一颗哈夫曼树,求最短带权路径长度(树中所有的叶结点的权值乘上其到根结点的路径长度) 每次选择重量最小的两堆进行合并使用小根堆存储每一堆果子,每次两次弹出堆顶元…

【测试】用例篇——测试用例的概念

设计测试用例基本是测试面试的必考题。 什么是测试用例? 测试用例(Test Case)是为了实施测试而向被测试的系统提供的⼀组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素。 现在买回来一个新的电视…

uniapp页面传值

传变量 uni.navigateTo({url:/pages/page/pay?number1 })uni.navigateTo({url:/pages/page/pay?title this.title });uni.navigateTo({url:/pages/page/pay?list encodeURIComponent(JSON.stringify(this.getList)) })接收 onLoad(e){this.number e.numberthis.title e.…

探索CI/CD:持续集成与持续部署的基本概念

在现代软件开发中,持续集成(CI)和持续部署(CD)已经成为提高开发效率和产品质量的关键实践。本文将详细介绍CI/CD的基本概念、优势以及如何在实际项目中实施CI/CD。 一、什么是持续集成(CI)&…

2025年人工智能行业的发展趋势预测以及中小企业的应对策略

大家好,我是Shelly,一个专注于输出AI工具和科技前沿内容的AI应用教练,体验过300款以上的AI应用工具。关注科技及大模型领域对社会的影响10年。关注我一起驾驭AI工具,拥抱AI时代的到来。 ​ 进入2024年的第四季度,人工…

云原生化 - 旅程(简约版)

软件是一种以工程实践为基础的学科,这里建议先用起来,再了解相关的一些概念。 实践 1. 选择合适的技术栈 编程语言:选择支持并发和高性能的语言,如Golang或Java。框架:选择支持微服务的框架,如Spring Boot…

【玩转 JS 函数式编程_010】3.2 JS 函数式编程筑基之:以函数式编程的方式活用函数(上)

写在前面 按照惯例,过长的篇幅分开介绍,本篇为 JavaScript 函数式编程核心基础的第二部分——以函数式编程的方式活用函数的上篇,分别介绍了 JS 函数在排序、回调、Promise 期约、以及连续传递等应用场景下的用法演示。和之前章节相比难度又有…

【Linux 从基础到进阶】大数据集群的监控与管理

大数据集群的监控与管理 1. 引言 随着大数据技术的发展,越来越多的企业和组织部署了大数据集群以支持其业务需求。大数据集群通常包括数百甚至数千台服务器,分布式存储和计算框架如 Hadoop、Spark、Kafka 等被广泛应用。这种大规模的集群对性能、可靠性和可用性提出了极高的…

请解释一下Java中的泛型擦除。你对Java中的XML和JSON了解多少?

请解释一下Java中的泛型擦除。 Java中的泛型擦除(Type Erasure)是指Java编译器在编译泛型代码时,会移除泛型类型参数的相关信息,使得生成的字节码中不包含泛型类型信息。这个过程使得Java的泛型在运行时(Runtime&…

详细分析Spring Framework中 @ConditionalOnProperty的基本知识(附Demo)

目录 前言1. 基本知识2. Demo 前言 基本的Java知识推荐阅读: java框架 零基础从入门到精通的学习路线 附开源项目面经等(超全)【Java项目】实战CRUD的功能整理(持续更新) 从实战中学习启发 1. 基本知识 Conditiona…

C++:thread | condition_variable|mutex

欢迎来到 破晓的历程的 博客 ⛺️不负时光,不负己✈️ 文章目录 引言thread创建线程传递参数给线程函数 mutexmutex常见用法 condition_variable:条件变量生产消费模型 引言 相信大家在Linux系统编程中都接触过线程创建和退出的相关系统调用&#xff0…

【学习笔记】一种使用多项式快速计算 sin 和 cos 近似值的方法

一种使用多项式快速计算 sin 和 cos 近似值的方法 在嵌入式开发、游戏开发或其他需要快速数学计算的领域,sin 和 cos 函数的计算时间可能会影响程序的整体性能。特别是在对时间敏感、精度要求不高的场景中,传统的 sin 和 cos 函数由于依赖复杂的数值方法…

RHCSA的学习(4)

一、vi编辑器 (1)为什么学vi? 所有的Unix Like 系统都会内建 vi 文本编辑器,其他的文本编辑器则不一定会存在; 很多个别软件的编辑接口都会主动呼叫 vi (例如未来会谈到的 crontab, visudo, edquota 等指令)&#x…

【笔记】Day2.4表设计说明

主键ID一般使用bigint类型 运送类型 使用比int更小的tinyint类型 eg:普快代表1 特快代表2(没写反) 关联城市 varchar 2代表京津冀 3代表江浙沪 4代表川渝 首重和续重都有小数点 故使用double 轻抛系数都为整数 故使用int 创建时间和修改…

【UI】将 naive ui 的 message 封装进axios 中,关于naiveui的message相关的用法

文章目录 前言在setup外进行使用直接包裹使用vue 单文件中使用 参考文章: 关于naiveui的message相关的用法 前言 最近新建了一个vite vu3 的项目,完全是从0 到1 ,封装到request 的时候 想对axios 请求做一个全局的处理,但发现…

【CSS】让元素消失的方式

1. display: none display: none 是最常用的隐藏元素的方法。它会完全将元素从文档流中移除,元素不再占据任何空间。 .element {display: none; }特点: 占位影响:元素完全从文档流中移除,不占据任何空间。事件响应:…

jmeter学习(7)beanshell

beanshell preprocessor 发送请求前执行 beanshell postprocessor 发送请求前执行 获取请求相关信息 String body sampler.getArguments().getArgument(0).getValue(); String url sampler.getPath(); 获取响应报文 String responseprev.getResponseDataAsString(); 获…

实战OpenCV之视频处理

基础入门 视频是由一系列连续的图像帧组成的,这些帧按照一定的速率连续播放,从而形成动态画面。与视频相关的主要参数有:分辨率、帧率、码率、编解码器、帧类型、文件格式等,下面分别进行介绍。 1、帧率。表示每秒显示的图像帧数&…

【devops】x-ui 实现一键安装 x-ray 打造高速国际冲浪 | xray管理平台

一、部署X-UI篇 1、Github 地址&说明 github地址如下: https://github.com/FranzKafkaYu/x-ui?tabreadme-ov-file 2、一键部署 2.1、更新并安装curl #Ubuntu、Deibian系统 apt update && apt upgrade -y apt install curl -y #CentOS7 系统 yum…