Linux在Docker中安装Gitlab

2023-11-10

1、安装Gitlab前先把git安装上

yum install -y git

2、安装成功后查看git版本信息

git version

3、设置git的账户信息

git config --global user.name "名称"

git config --global user.email "邮箱"

4、创建ssh密钥,密钥默认保存在当前位置下 的 .ssh文件里 生成一个私钥 id_rsa和一个公钥id_rsa.pub

ssh-keygen -t rsa -C "你的邮箱"

一只点击回车就可以。

5、查看公钥、私钥

cat /root/.ssh/id_rsa.pub  公钥

cat /root/.ssh/id_rsa         私钥

开始拉取、安装Gitlab

1、拉去镜像

docker pull gitlab/gitlab-ce

2、运行gitlab镜像

$ docker run -d  -p 443: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-ce
# -d:后台运行
# -p:将容器内部端口向外映射
# --name:运行的容器名称
# -v:将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录

# –restart always 重启策略

# -v /home/gitlab/config:/etc/gitlab   挂载目录

# -v /home/gitlab/logs:/var/log/gitlab 挂载目录

# -v /home/gitlab/data:/var/opt/gitlab/gitlab-ce 挂载目录

#–p 443:443:将http:443映射到外部端口443
#–p 8080:80:将web:80映射到外部端口8080 gitlab默认是80
#–p 222:22:将ssh:22映射到外部端口222

 3、修改gitlab.rb配置文件

vi /etc/gitlab/gitlab.rb

把对应的修改的#去掉,然后修改如下

external_url 'http://127.0.0.1:8080'   需要和创建容器指定的端口号一致
gitlab_rails['gitlab_ssh_host'] = '127.0.0.1'
gitlab_rails['gitlab_shell_ssh_port'] = 222
nginx['listen_port'] =8080   

5、进gitlab容器重启配置服务

docker exec -it gitlab /bin/bash #进去gitlab容器的命令

gitlab-ctl reconfigure #重置gitlab客户端的命令

  等待一会儿完成后,exit退出即可;

6、重启gitlab容器

$ docker restart gitlab

7、根据设置好的Ip地址或者域名访问gitlab

http://ip:8080

进入以后会让修改密码,修改完成后登入即可;

8、运行项目创建项目

默认的登录名是root

使用docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password  可以查看root的默认密码 

 9、进入系统后,点击创建一个项目

 

 

 

 10、使用Git拉去远程项目需要绑定密钥,点击右上角头像设置SSH密钥,输入id_rsa.pub的内容,如下图所示:

保存后的结果。

 

 11、拉取或者上传项目之前,请先初始化本地git仓库,创建一个文件夹,在指定的位置初始化本地git仓库,便于规范性的操作。克隆拉取命令省略;

git init

12、Gitlab中实现CI/CD,需要安装gitlab-runner

docker pull gitlab/gitlab-runner:latest

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux在Docker中安装Gitlab 的相关文章

  • 如果输入被重定向则执行操作

    我想知道如果我的输入被重定向 我应该如何在 C 程序中执行操作 例如 假设我有已编译的程序 prog 并且我将输入 input txt 重定向到它 我这样做 prog lt input txt 我如何在代码中检测到这一点 一般来说 您无法判
  • 如何在没有 Visual Studio 和 docker compose 的情况下使用 docker 复制 csproj 文件?

    我刚刚使用 Visual Studio 15 8 8 启动了一个 NET Core 项目 2 1 的新解决方案 通过将docker compose文件设置为启动项目即可运行和调试 有用 从逻辑上讲 我应该能够使用简单的命令行语句构建 doc
  • Java时区混乱

    我正在运行 Tomcat 应用程序 并且需要显示一些时间值 不幸的是 时间快到了 还有一个小时的休息时间 我调查了一下 发现我的默认时区被设置为 sun util calendar ZoneInfo id GMT 08 00 offset
  • 如何在 bash_profile 文件中添加导出语句?

    我正在尝试了解是否必须添加导出语句来在 bash profile 文件中设置变量 我该怎么做呢 例如 如果我必须添加 export AX name 那么我应该将其简单地写在文件末尾还是我还需要编写其他内容 简单写一下export AS na
  • 使用前端 Dockerfile 无法解决

    我对 Docker 还很陌生 正在尝试使用纯 HTML 构建 Docker 映像 但我收到此错误消息 无法使用前端 dockerfile v0 解决 无法读取 dockerfile 打开 var lib docker tmp buildki
  • 打印本周星期一的日期(在 bash 中)

    我想获取本周星期一的 YYYYMMdd 格式的日期 例如 今天是 20110627 从明天到周日 我仍然想打印周一 今天 的日期 然后下周重复这个过程 monday date dmonday Y m d last monday date d
  • 为什么无论 -rdynamic 如何,backtrace 都不包含 Objective-C 符号?

    Update 我正在 Linux 上使用 GNU 运行时 问题是not发生在带有 Apple 运行时的 MacOS 上 更新2 我在 MacOS 上编译了 GNU 运行时并用它构建了示例 该错误确实not发生在带有 GNU 运行时的 Mac
  • docker 主机 (OSX) 上的关闭端口在内部 docker 网络上保持/报告打开状态

    在 OSX 12 3 上将 Docker 升级到 4 6 0 后 当我停止 PHPStorm 中的 xdebug 监听客户端时 我遇到了一些奇怪的问题 似乎后续请求总是超时 因为 docker 报告 host docker internal
  • 如何在 Linux 中向热敏打印机发送 ESC/POS 命令

    我正在尝试在热敏打印机上发送 ESC POS 命令 但每当我发送它们时 热敏打印机都会将它们打印为文本 而不是作为命令执行它们 我在 prn 文件中编写这些命令 每当我执行 lp 命令来打印文件时 这些 prn 文件也会被打印 但作为文本
  • Linux 中有没有一种轻量级的方法来获取当前进程数?

    我希望我的 基于 C C 的 程序显示一个数字指示器 指示本地系统上当前有多少个进程 将经常查询正在运行的进程数值 例如每秒一次 以更新我的显示 有没有一种轻量级的方法来获取该数字 显然我可以调用 ps ax wc l 但我不想强迫计算机生
  • 用于 e NetworkManager VPN 连接的 dbus 信号处理程序

    我需要开发一些在建立 VPN 连接时执行的 python 代码 VPN 由 NetworkManager 控制 我试图弄清楚如何为此使用 NM DBUS 事件 使用 dbus monitor system 我能够识别连接信号 signal
  • 使用 Python 将阿拉伯语或任何从右到左书写系统的字符串打印到 Linux 终端

    非常简单的例子是 city print city 我期望输出是 但实际上输出是相反的字符串 字母看起来有点不同 因为它们有开始 中间和结束形式 我无法将其粘贴到此处 因为复制粘贴会再次更正字符串的顺序 如何在 Linux 终端上正确打印阿拉
  • Linux 上的“软/硬 nofile”是什么意思

    当我尝试在RedHat EL5上安装软件时 我得到了错误 软 硬nofile的期望值是4096 而默认值是1024 我设法增加了这个数字 但我不知道参数是什么 他们指的是软链接和硬链接吗 我改变的方法是 a 修改 etc security
  • gpg:抱歉,根本没有请求终端 - 无法获取输入

    解密时出现以下错误 eyaml decrypt s ENC and the key goes on here gnupg quiet no secmem warning no permission warning no tty yes de
  • 使用 Vala 和 GLib 的正则表达式

    有没有一个函数 比如http php net manual en function preg match all php http php net manual en function preg match all php 使用 GLibh
  • X 按键/释放事件捕获,与焦点窗口无关

    我想记录所有传入的按键事件 无论哪个窗口处于焦点状态或指针位于何处 我编写了一个示例代码 它应该捕获当前焦点窗口的按键事件 include
  • docker中的GitLab CI docker无法创建卷

    我在 docker 中使用 docker 来托管我的容器 因为它们通过管道工作 我根据代码创建的容器设置为具有一个卷 用于将 gcloud 密钥传递到容器 这在我的本地计算机上完美运行 但在 gitlab runner 上它无法正确链接 从
  • 如何让 Docker 容器在系统启动时自动启动?

    假设我有一个要运行的 Docker 容器 那么我可以调用 docker run 一切都很好 是否有一种内置方法可以在系统崩溃并重新启动时自动重新启动容器来运行容器 如果是这样 这在 Docker Compose 中也可用吗 是的 docke
  • 使用 hcitool 扫描低功耗蓝牙?

    当我运行此命令时 BLE 设备扫描仅持续 5 秒 sudo timeout 5s hcitool i hci0 lescan 输出显示在终端屏幕中 但是 当我将输出重定向到文件以保存广告设备的地址时 每次运行该命令时 我都会发现该文件是空的
  • php56 - CentOS - Remi 仓库

    我刚刚在测试盒上安装了 php 5 6 正常的 cli php 解释器似乎不存在 gt php v bash php command not found gt php56 v PHP 5 6 13 cli built Sep 3 2015

随机推荐

  • win10 安装 Cygwin

    http preshing com 20141108 how to install the latest gcc on windows How to Install the Latest GCC on Windows Several mod
  • c++之文件操作

    文件操作 1 头文件fstream 2 文件类型有两种 文本文件 二进制文件 3 操作文件的三大类 ofstream 写操作 ifstream 读操作 fstream 读写操作 写文件 1 包含头文件 include
  • OpenSSL_add_all_digests 函数不是 thread-safe 的

    项目中 多个线程同时执行 OpenSSL add all digests 函数 crash了 backtrace 如下 0 0x00007f5e93f5d536 in lh insert from usr lib64 libcrypto s
  • OpenStack官方认证(COA)正式回归!

    Certified OpenStack Administrator 简称 COA 是OpenStack基金会在2016年推出的唯一一个OpenStack官方管理员技术认证 对OpenStack的日常使用和管理 应该学习和掌握哪些技术 提出了
  • tp5,php将数组转化为字符串

    al array为数组 al array new implode al array implode将把数组的元素用逗号分割 al array new为以逗号为分隔符的字符串 补充 字符串转数组 explode str 下面有个问题 带键值的
  • ES6 JS 关于字符串和数组之间的转换

    ES6 JS 关于字符串和数组之间的转换 ArrayBuffer转16进度字符串示例 function ab2hex buffer var hexArr Array prototype map call new Uint8Array buf
  • 协议数据单元PDU和服务数据单元SDU

    关注汽车工程师谈技术 一起学习技术 目录 1 协议数据单元PDU和服务数据单元SDU 2 AutoSAR中PDU和SDU的应用 3 总结 返回总目录 协议数据单元PDU 大家在AutoSAR开发过程中 特别是通信和诊断开发中 应该会经常碰到
  • 7-1 计算职工工资c语言,C语言职工工资管理系统

    一 设计需求说明 一 职工工资管理系统功能设计要求 1 输入记录 将每一个职工的姓名 ID号以及基本工资 职务工资 岗位津贴 医疗保险 公积金的数据作为一个记录 该软件能建立一个新的数据文件或给已建立好的数据文件增加记录 2 显示记录 根据
  • 在字符串中找出连续最长的数字串

    描述 题目描述 请一个在字符串中找出连续最长的数字串 并把这个串的长度返回 如果存在长度相同的连续数字串 返回最后一个连续数字串 注意 数字串只需要是数字组成的就可以 并不要求顺序 比如数字串 1234 的长度就小于数字串 1359055
  • 01.个人项目难点汇总3 箭头流动及油管流动特效

    01 简单实例
  • 电商常用的数据分析指标

    一 流量指标 浏览量PV 用户访问页面的总数 用户每访问一个网页就算一个浏览量 同一个页面刷新一次也算一个浏览量 访客数UV 一般以天为单位来统计24小时内的UV总数 一天内重复访问的只能算一次 实时在线人数 指15分钟内在线UV数 平均在
  • UI素材

    什么是UI组件 UI 设计组件 UI KIT 直译过来就是用户界面成套元件 是界面设计常用控件或元件 组 是设计元素的组合方式 件 由不同的元件组成 组件的优势 1 保证一致性 Consistency 与现实生活一致 与现实生活的流程 逻辑
  • 本期特别推荐

    本文阅读时间 13分钟 本文将为你介绍9种机器学习入门项目创意 更有微软ATP助力你的学习之路 在机器学习领域有什么好的项目可以实操吗 有哪些经典小项目可以推荐学习呢 以下的项目将帮助你更好了解机器学习 步入AI领域的大门 鸢尾花分类项目
  • SSRF——服务端请求伪造

    什么是SSRF 服务器端请求伪造 SSRF 是指攻击者能够从易受攻击的Web应用程序发送精心设计的请求的对其他网站进行攻击 利用一个可发起网络请求的服务当作跳板来攻击其他服务 ssrf有什么作用 一般用于探测内网端口及信息 查看文件 甚至可
  • spring与mybatis三种整合方法

    1 采用MapperScannerConfigurer 它将会查找类路径下的映射器并自动将它们创建成MapperFactoryBean spring mybatis xml
  • vhd win10系统蓝屏问题(inaccessible boot device/0x000000c1)

    我的win10 是安装在vhdx虚拟磁盘中 在安装云桌面软件后 重启无法进入win10系统 出现蓝屏现象 具体的报错信息为 inaccessible boot device或 0x000000c1 问题根源 根源是云桌面软件为了接管系统的u
  • JVM 虚拟机 ---> JVM 基础概念

    文章目录 JVM 虚拟机 gt JVM 基础概念 一 Java 跨平台 主要原因 二 JVM 的组成结构 三 Java 代码执行流程 四 JVM 的生命周期 JVM 虚拟机 gt JVM 基础概念 一 Java 跨平台 Java是一种可跨平
  • 详解K8s基本概念

    没等到风来 绵绵小雨 所以写个随笔 聊聊k8s的基本概念 k8s是一个编排容器的工具 其实也是管理应用的全生命周期的一个工具 从创建应用 应用的部署 应用提供服务 扩容缩容应用 应用更新 都非常的方便 而且可以做到故障自愈 例如一个服务器挂
  • 信息抽取之街道抽取

    如何从文本信息抽取出道路信息 问题 从给定的语料中抽取出相应的道路信息 数据 向塘北大道西50米 天龙路与龙华路交叉口北50米 观澜大道490号附近 成都市锦江区海椒市街13号附7号 玉兰西路 团结北路23号 湖塘镇火炬北路12号 昆明市晋
  • Linux在Docker中安装Gitlab

    1 安装Gitlab前先把git安装上 yum install y git 2 安装成功后查看git版本信息 git version 3 设置git的账户信息 git config global user name 名称 git confi