docker安装gitlab(超级详细)

news2024/11/20 14:28:01

前提:

在操作之前需要安装docker和docker-compose 

  1. 拉取镜像
    docker pull gitlab/gitlab-ce:15.2.4-ce.0
  2. 创建本地文件夹
    mkdir /data/docker/gitlab/etc
    mkdir /data/docker/gitlab/logs
    mkdir /data/docker/gitlab/data
  3. 编写 docker-compose.yml
    cd /data/docker/gitlab
    vi docker-compose.yml

    docker-compose.yml内容如下:

    version: "3.3"
    services:
      gitlab:
        image: gitlab/gitlab-ce:15.2.4-ce.0
        container_name: gitlab
        volumes:
          - /data/docker/gitlab/etc:/etc/gitlab
          - /data/docker/gitlab/logs:/var/log/gitlab
          - /data/docker/gitlab/data:/var/opt/gitlab
        ports:
          - "4443:443"
          - "8788:80"
          - "222:22"
        restart: always
  4. 启动gitlab容器
    docker-compose up -d
  5. 修改配置文件
    /data/docker/gitlab/etc
    vi gitlab.rb
    
    #修改内容如下,ip填写自己主机的ip地址即可
    # 配置http协议所使用的访问地址,不加端口号默认为80
    external_url 'http://192.168.1.34:8788'
    # 配置ssh协议所使用的访问地址和端口
    gitlab_rails['gitlab_ssh_host'] = '192.168.1.34'
    # 此端口是run时22端口映射的222端口
    gitlab_rails['gitlab_shell_ssh_port'] = 222 
    
  6. 重启gitlab

    docker restart gitlab
  7. 访问gitlab
    http://192.168.1.34:8788/ 出现如下界面说明gitlab已经安装成功了
  8. 重置root用户密码
    # 1:进入到gitlab容器
    docker exec -it gitlab bash
    # 2:进入到控制台
    gitlab-rails console -e production
    # 3:重置密码
    user = User.where(id: 1).first
    user.password = 'root123*'
    user.password_confirmation = 'root123*'
    user.save!

    操作过程如下:

     

  9. 使用root用户登录gitlab,密码为root123*
     

至此docker的gitlab安装就已经完成了 

 

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

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

相关文章

面试高频题目,每周更新。

1.如何实现一个div快速的居中对齐? 2.margin和padding有什么不同? 作用对象不同,margin是针对对外部对象,padding是针对于自身。 3.vw和百分比有什么区别? 百分比是有继承的,父级元素改变后,会…

删除的照片如何恢复? 5个照片恢复方法总结

有人说,照片承载着很多回忆,一些难忘的时刻,还有一些经历。这就是我们不能丢失它们的原因,如果偶然丢失它们,到目前为止还没有可靠的设备。但是,如果您丢失了一些照片并想找回它们,请不要担心&a…

MySQL集群解决方案(4):负载均衡

在前面架构中,虽然对mycat做了集群,保障了mycat的可靠性,但是,应用程序需要连接到多个mycat,显然不是很友好的,也就是说缺少负载均衡的组件,接下来我们来了解下HAProxy。 1 简介 官网&#xff…

Nacos安装-单机安装

目录 一、环境介绍 二、安装方式 三、部署模式 四、单机模式包部署 4.1 下载到对应地址 4.2 解压缩包 4.3 单机模式支持mysql 导入初始化SQL 修改配置文件 4.4. 单机模式启动nacos 启动成功 登录 一、环境介绍 操作系统:Ubuntu 20.04.1JDK:保证…

HaaS EDU物联网项目实战:老板来了

HaaS EDU K1是一款高颜值、高性能、高集成度的物联网开发板,板载功能强大的4核(双核300Mhz M33双核1GHz A7)主芯片,2.4G/5G双频Wi-Fi,双模蓝牙(经典蓝牙/BLE),并自带丰富的传感器与小…

2023 年的 7 个技术趋势——人工智能与企业内容管理相结合,云成为企业 IT 标准, 数据民主化······

2023 年的 7 个技术趋势 技术的发展速度比以往任何时候都快。高通胀、供应链问题和技术工人短缺等经济因素给当今的企业带来了巨大的压力。艰难的经济环境促使公司重新评估其财务战略,并寻找保持利润率的方法,同时培养对不断变化的经济状况做出快速反应…

又一款AR HUD前装量产上车!这家供应商深耕HUD行业8年

12月15日晚,岚图汽车首款轿车——岚图追光正式首发亮相并开启预售。预售价分别为32.29万元、35.29万元、43.29万元。 作为岚图汽车首个搭载ESSASOA智能电动仿生体的量产车型,领先的技术架构保证岚图追光在性能、智能、豪华、安全等各维度的表现都达到同级…

【数据结构-排序】内部排序

文章目录1 直接插入排序1.1 算法简要思想1.2 算法特性2 希尔排序2.1 算法简要思想2.2 手动模拟2.3 算法特性3 冒泡排序3.1 算法简要思想3.2 算法特性4 快速排序4.1 算法思路4.2 算法代码4.3 手动模拟4.4 算法特性4.5 相关例题5 简单选择排序5.1 算法简要思想5.2 算法特性6 堆排…

了解网络保险以及为什么它对您的业务很重要

本文,我们将探讨网络保险,它如何在发生网络攻击时帮助企业,以及为什么您的企业组织需要它。 大流行后的工作场所在很大程度上转向远程优先或混合安排,员工使用各种个人设备连接到公司网络。不良的网络卫生实践、缺乏足够的网络安全…

IDEA懒人必备插件:自动生成单元测试,太爽了!

今天,我们将介绍一个工具Squaretest,它是一个用于自动生成单元测试的插件。它也将被使用,因为该公司最近实施了代码质量控制指标,以评估各种项目的单元测试覆盖率和声纳扫描的各种问题。 许多旧项目和旧代码,或者需要匆…

ArcGIS基础:在线数据上生成规则采样点

需求:在线要素上等间距生成一定数量的采样点或者在线数据上随机生成一系列的采样点 原始数据如下所示,为一个普通的线数据,以下操作是在此线数据上生成一定数量的采样点。 注意:切记,点要素和线要素数据都要为shp格式…

飞桨生态之FastDeploy预编译库的使用方法

飞桨生态之FastDeploy预编译库的使用方法1 FastDeploy2 下载FastDeploy编译demo方法1 FastDeploy 为什么采用FastDeploy,由于之前使用PaddleOCR(paddlle_inference)框架的代码做推理,造成实际显存一直开辟,不释放我的问题,刚开始两个模型占用…

vxlan转发原理

openstack neutron组件也用到了vxlan,还有dvr,在云计算环境到底分布式网关好还是集中式网关好,vxlan对称还是非对称转发好,什么样的控制平面好,要对这些问题得出结论不管怎样先得深刻理解vxlan转发流程。 三层转发就是…

Java——继承——Extends

继承为什么要继承呢?继承的语法继承的概念子类中访问父类性质Java的单继承super和this子类构造方法protected中super的使用final关键字今天我们来说说面向对象的又一特征:继承!为什么要继承呢? class Dog{public String name;pub…

QT Qmake 笔记

文章目录概述QT修改样式qmake概述库引用和库路径指定QT创建动态库和使用小例子写动态库用动态库参考资料附录概述 需要先安装osg,然后再编译安装osgQOpenGL的插件。 其中,osgQOpenGL是OSG嵌入到qt中的一种实现方式,换言之,能够支…

【小学信息技术教资面试】《认识鼠标》教案

1.题目:认识鼠标 2.内容: 3.基本要求: (1)掌握鼠标的基本操作 (2)体现学生的主体地位 (3)多种教学方法结合使用 (4)配合板书讲解 《认识鼠标》…

C语言学习之路(高级篇)—— 变量和内存分布(下)

说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 程序的内存分区模型 1) 内存分区 1.1 运行之前 我们要想执行我们编写的c程序,那么第一步需要对这个程序进行编译。 预处理&#xf…

linux进程替换(简介)

一:什么是进程替换? 定义: 进程替换,是指用一个新进程来替换此时正执行的进程。新进程从头开始执行自己的代码。 例子: 我们有一个父进程A,在父进程A中有一个子进程B 一般来说,子进程是执行…

Redis的数据复制

介绍 Redis 的复制 Redis 的复制功能分为同步(sync)和命令传播(command propagate)这两个操作 同步操作用于,将从服务器的数据库状态更新至主服务器当前所处的数据库状态;命令传播操作用于,在…

Java基础1112_包机制_JavaDoc生成文档

目录包机制JavaDoc生成文档方法一方法二包机制 为了更好的组织类,Java提供了包机制,用于区别类名的命名空间; 包语句的语法格式为:package pkg1[. pkg2[. pkg3 …]]; 一般利用公司的域名倒置作为包名;com.b…