Docker 快速搭建 Gitlab 服务

linux环境:

  • 使用 vim 编辑 hosts 文件:
 vim /etc/hosts
  • 按 I 进入编辑模式,在文件末行追加上虚拟机的 IP 和要设置的域名:
192.168.1.17 gitlab.kunwu.top

lwindows环境:

  • Windows 系统的 hosts 文件位于
    C:\Windows\System32\drivers\etc 目录。
    同样在文件最后一行输入虚拟机的 IP 和域名:
192.168.1.17 gitlab.kunwu.top
  • 保存,刷新dns:
ipconfig /flushdns

下载镜像:

docker pull gitlab/gitlab-ce

新建挂载卷:

$ mkdir -p /opt/gitlab/config # 映射到 Glitlab 容器中的配置目录
$ mkdir -p /opt/gitlab/logs # 映射到 Glitlab 容器中的日志目录
$ mkdir -p /opt/gitlab/data # 映射到 Glitlab 容器中的数据目录

运行容器:

docker run -d \
--hostname gitlab.kunwu.top \
-p 8443:443 -p 8080:80 -p 8022:22 \
--name gitlab \
--restart always \
--privileged=true \
-v /opt/gitlab/config:/etc/gitlab \
-v /opt/gitlab/logs:/var/log/gitlab \
-v /opt/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce

参数说明:

  • -d:已守护进程的方式运行容器。这样就可以让 gitlab 服务在后台运行而不影响前台的操作。
  • –hostname:设置主机名字。和我们上面给虚拟机设置的域名保持一致即可。如果是云服务器且绑定了域名,这里就是云服务器的域名。
  • -p:gitlab 需要暴露三个端口,44380 是访问 Gitlab 的 Web 页面,22 是使用 Git 管理仓库时用到,但是由于宿主机的443、80、22 被我占用了,所以这里映射到了 8443、8080、8022。
  • –name:容器的名字
  • –restart:当容器启动失败时总是尝试自动重启
  • –privileged=true:Docker 应用容器 获取宿主机root权限(特殊权限)
  • -v:挂载数据卷,这样就能方便修改为容器内服务的配置,同时方便做容器数据的迁移

打开浏览器访问 http://gitlab.kunwu.top:
在这里插入图片描述

登录

第一次访问 Gitlab 需要重置 root 账号的密码。
前面启动 Gitlab 容器之前,设置了它的配置文件的数据卷,来到此目录:

cd /opt/gitlab/config

有一个 initial_root_password 文件,root 用户的初始密码密码就在此文件中:

cat initial_root_password

在这里插入图片描述将其复制,然后回到浏览器中输入并点击登录按钮,就能完成第一次登录了。
在这里插入图片描述
修改默认密码
Root 用户的初始密码在配置文件中只保存 24 小时,太长也不方便记忆。所以登录后先修改默认的初始密码。

点击右上角头像,选择偏好设置,然后选择左侧菜单栏的密码选项,完成密码的修改。新密码的长度需要不少于8个字符。
在这里插入图片描述
然后保存密码,重新登录 Gitlab。

作者:昆吾kw
链接:https://juejin.cn/post/7165372823467196423
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

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

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

相关文章

如何做一个简单的深度集成学习框架

使用同一个框架,独立在一个数据集上面,分别训练多次,每个单独模型训练超参数可以一样,也可以不一样,最后若干个训练好的独立模型在测试集数据上面做最后集中决策。 实例代码如下: class MyEnsemble(nn.Modu…

linux通过串口传输文件

简介 在嵌入式调试过程中,我们经常会使用调试串口来查看Log或者执行指令,其实,调试串口还有另一种功能,就是传输文件,本文说明使用MobaXterm串口工具来传输文件。 环境要求 嵌入式系统需要安装lsz和lrz,…

【Java】定时器的简单应用

在写代码的过程中,如果我们遇到了隔一段时间就要进行一项任务时,采用定时器会提高我们的效率。下面对定时器的使用进行简单说明 1、应用说明 首先我们要创建一个Timer类 Timer timer new Timer(); 然后在timer中调用schedule()方法添加任务 timer.…

将对象转成URL参数

背景 有的时候前端跳转到其他平台的页面需要携带额外的参数,需要将对象转成用 & 连接的字符串拼接在路径后面。 实现方法

Rust语言入门教程(二) - 变量与作用域

变量与作用域 变量的声明与初始化 Rust的基本语法格式如下: fn main(){let bunnies 2; }语句以分号结尾,用花括号包含语句块。 Rust的语法其实借鉴了很多其他的语言,比如C语言和Python, 所以变量定义的格式看起来也跟很多我们…

Elasticsearch:ES|QL 函数及操作符

如果你对 ES|QL 还不是很熟悉的话,请阅读之前的文章 “Elasticsearch:ES|QL 查询语言简介​​​​​​​”。ES|QL 提供了一整套用于处理数据的函数和运算符。 功能分为以下几类: 目录 ES|QL 聚合函数 AVG COUNT COUNT_DISTINCT 计数为近…

自定义字符-摄氏度汉字一

本文为博主 日月同辉,与我共生,csdn原创首发。希望看完后能对你有所帮助,不足之处请指正!一起交流学习,共同进步! > 发布人:日月同辉,与我共生_单片机-CSDN博客 > 欢迎你为独创博主日月同…

Unity UGUI的HorizontalLayoutGroup(水平布局)组件

Horizontal Layout Group | Unity UI | 1.0.0 1. 什么是HorizontalLayoutGroup组件? HorizontalLayoutGroup是Unity UGUI中的一种布局组件,用于在水平方向上对子物体进行排列和布局。它可以根据一定的规则自动调整子物体的位置和大小,使它…

Python基础:生成器(Generators)和生成器表达式(Generator Expressions)详解

生成器(Generators)和 生成器表达式(Generator Expressions)是 Python 中用于处理迭代器和序列数据的强大工具。它们允许你按需生成值,而不是一次性生成所有值,从而节省内存和提高性能。 1. 生成器&#x…

实现自动化构建与集成:Jenkins与SVN整合的指南

Jenkins整合SVN 前言(非必须):配置Jenkins的CSRF1、新建任务2、 配置SVN3、配置Maven:进行编译打包4.1、发布到WEB容器(第一种:将项目放在webapps下)4.2、发布到WEB容器(第二种:将项目名称修改为…

文心一言 VS 讯飞星火 VS chatgpt (141)-- 算法导论12.1 1题

一、用go语言,对于关键字集合(1,4,5,10,16,17,21),分别画出高度为 2、3、4、5和6的二又搜索树。 文心一言: 以下是用Go语言为给定的关键字集合(1, 4, 5, 10, 16, 17, 2…

VR云游:让旅游产业插上数字化翅膀,打造地方名片

自多地入冬降温以来,泡温泉成了许多人周末度假的选择,在气温持续走低的趋势下,温泉游也迎来了旺季;但是依旧有些地区温度依旧温暖,例如南京的梧桐美景也吸引了不少游客前去打卡,大家穿着汉服与金黄的树叶合…