一、Docker部署GitLab(详细步骤)

Docker部署GitLab(详细步骤)

  • 一、拉取镜像
  • 二、启动容器
  • 三、修改配置
  • 四、修改密码
  • 五、浏览器访问

一、拉取镜像

  • docker安装教程:https://qingsi.blog.csdn.net/article/details/131270071
docker pull gitlab/gitlab-ce:latest

在这里插入图片描述

二、启动容器

docker run \-itd  \-p 9980:80 \-p 9922:22 \-v /data/gitlab/etc:/etc/gitlab  \-v /data/gitlab/log:/var/log/gitlab \-v /data/gitlab/opt:/var/opt/gitlab \--restart always \--privileged=true \--name gitlab \gitlab/gitlab-ce

在这里插入图片描述

三、修改配置

注意:接下来的配置请在容器内进行修改,不要在挂载到宿主机的文件上进行修改。否则可能出现配置更新不到容器内,或者是不能即时更新到容器内,导致gitlab启动成功,但是无法访问

# 1.进入docker
docker exec -it gitlab bash
# 2.修改gitlab.rb
vi /etc/gitlab/gitlab.rb
# 3.在gitlab.rb最上面,加入下面的内容(需要自己调整)
#gitlab访问地址,可以写域名。如果端口不写的话默认为80端口
external_url 'http://192.168.11.12.132' 
#ssh主机ip
gitlab_rails['gitlab_ssh_host'] = '192.168.11.12'
#ssh连接端口
gitlab_rails['gitlab_shell_ssh_port'] = 9922

在这里插入图片描述

修改完成之后保存退出即可,由于咱们在docker中运行,在gitlab上生成的http地址应该是http://192.168.11.128:9980,所以,要修改下面文件

# 修改http和ssh配置
vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.ymlgitlab:host: 192.168.11.128 # 这里改为服务器ipport: 9980 # 这里改为9980https: false

在这里插入图片描述

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

在这里插入图片描述

四、修改密码

# 1.进入容器内部
docker exec -it gitlab /bin/bash# 2.进入控制台(这里会比较久)
gitlab-rails console -e production# 3.查询id为1的用户,id为1的用户是超级管理员
user = User.where(id:1).first
# 修改密码为pdl123456
user.password='qingsi1234'
# 保存
user.save!
# 退出
exit

在这里插入图片描述

五、浏览器访问

  • 路径访问:http://192.168.11.128:9980/

注意:机器配置要大于4g,否则很容易启动不了,报502
在这里插入图片描述

  • 输入刚刚修改的密码

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

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

相关文章

通讯录(顺序表)保存数据

在通讯录的基础上加上三个函数实现数据的保存。 分别为录入数据,加入数据与保存数据。 加入数据 先检查通讯录空间是否足够,然后将结构体ab中的数据全部放入通讯录mn中。 注意:字符串的拷贝要使用函数strcpy而不能直接用 加入完成之后将通…

防火墙状态检测和会话机制

FW对TCP,UDP和ICMP协议的报文创建会话

Android java基础_类的继承_android 类继承(2)

运行结果:rootubuntu:/home/topeet/guyilian# javac Ext2.java rootubuntu:/home/topeet/guyilian# java Ext2 10 ustc **子类继承父类的方法和属性都可以进行覆写,我们在子类覆写父类的printInfo方法。**class Person { private int age; public void …

基于Spring Boot和Vue技术框架的虚拟形象装扮商城系统

基于Spring Boot和Vue技术框架的虚拟形象装扮商城系统。该系统能够满足用户在虚拟世界中个性化装扮的需求,提供丰富的商品分类和便捷的购物体验。为实现这一目标,项目分为后台管理系统和前台用户系统两部分。后台管理系统使用Spring Boot作为主要技术框架…

模板匹配——基于模板与基于特征的两种模板匹配对比

概述 在人工智能(AI)的研究领域中,模板匹配不仅是一个重要的研究课题,也是解决图像处理中核心问题——定位兴趣区域的关键方法之一。通过模板匹配,可以准确地识别和定位给定图像中的特定对象。这项技术在对象检测、跟…

Web Component 组件库有什么优势

前言 前端目前比较主流的框架有 react,vuejs,angular 等。 我们通常去搭建组件库的时候都是基于某一种框架去搭建,比如 ant-design 是基于 react 搭建的UI组件库,而 element-plus 则是基于 vuejs 搭建的组件库。 可能你有这种体…

LeetCode | 数组 | 二分查找 | 35.搜索插入位置【C++】

题目链接 题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 示例 1: 输入: nums [1,3,5,6], target 5 输出…

漫谈GIS和空间数据库技术

1 GIS和CAD有啥区别 地理信息系统(GIS)和计算机辅助设计(CAD)是两种不同的技术,它们在功能、应用和数据处理方面有着显著的区别。以下是根据搜索结果得出的GIS和CAD的主要区别: 1. **数据处理的侧重点不同…

javaWeb城市公交查询系统的设计与实现

一、选题背景 随着低碳生活的普及,人们更倾向于低碳环保的出行方式,完善公交系统无疑具有重要意义。公交是居民日常生活中最常使用的交通工具之一,伴随着我国经济繁荣和城市人口增长,出行工具的选择也变得越来越重要。政府在公共…

Unity开发一个FPS游戏之三

在前面的两篇博客中,我已实现了一个FPS游戏的大部分功能,包括了第一人称的主角运动控制,武器射击以及敌人的智能行为。这里我将继续完善这个游戏,包括以下几个方面: 增加一个真实的游戏场景,模拟一个废弃的…

前视声呐目标识别定位(四)-代码解析之启动识别模块

前视声呐目标识别定位(一)-基础知识 前视声呐目标识别定位(二)-目标识别定位模块 前视声呐目标识别定位(三)-部署至机器人 前视声呐目标识别定位(四)-代码解析之启动识别模块 …

jQuery(二)

文章目录 1.jQuery操作节点1.查找节点,修改属性1.基本介绍2.切换图片案例 2.创建节点1.基本介绍2.内部插入3.外部插入4.小结1.插入方法说明2.两种插入方法的区别 5.插入元素实例6.移动元素实例 3.删除节点1.基本介绍2.代码实例 4.复制节点1.基本介绍2.代码实例 5.替…