百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

从0到1,Docker安装中文版Gitlab服务端

csdh11 2025-01-13 12:04 3 浏览

1.pull中文版镜像:

docker pull beginor/gitlab-ce:11.3.0-ce.0


2.创建目录:

通常会将 GitLab 的配置 (etc) 、 日志 (log) 、数据 (data) 放到容器之外, 便于日后升级, 因此请先准备这三个目录。

mkdir -p /mydata/gitlab/etc

mkdir -p /mydata/gitlab/log

mkdir -p /mydata/gitlab/data


3.修改目录权限:

chmod 777 /mydata/gitlab/etc

chmod 777 /mydata/gitlab/log

chmod 777 /mydata/gitlab/data


4.运行:

准备好这三个目录之后, 就可以开始运行 Docker 镜像了:

docker run --detach \

--publish 5443:443 \

--publish 82:82 \

--publish 2222:22 \

--name gitlab \

--volume /mydata/gitlab/etc:/etc/gitlab \

--volume /mydata/gitlab/logs:/var/log/gitlab \

--volume /mydata/gitlab/data:/var/opt/gitlab \

--privileged=true \

beginor/gitlab-ce:11.3.0-ce.0

--publish 5443:443:将http:443映射到外部端口5443

--publish 82:82:将web:82映射到外部端口82

--publish 2222:22:将ssh:22映射到外部端口2222

--name gitlab 运行容器名

--restart unless-stopped 重启策略

--volume /mydata/gitlab/etc:/etc/gitlab 挂载目录,配置文件目录

--volume /mydata/gitlab/log:/var/log/gitlab 挂载目录,日志目录

--volume /mydata/gitlab/data:/var/opt/gitlab 挂载目录,数据目录(可用于数据恢复)

--privileged=true 使得容器内的root拥有真正的root权限。否则,container内的root只是外部的一个普通用户权限


5. 配置gitlab服务器的访问地址

5.1、gitlab容器运行起来是没有问题的,但是当gitlab上创建项目的时候,生成项目的URL访问地址是容器的id(如上图)。作为gitlab服务器,当然是需要一个固定的URL访问地址,于是需要配置gitlab.rb(宿主机上的路径为:/mydata/gitlab/etc/gitlab.rb)配置文件里面的参数。

vi /mydata/gitlab/etc/gitlab.rb

# 配置http协议所使用的访问地址,推荐配置成域名或不变的ip

external_url 'http://192.168.85.135:82'

# https需要下面这句

# nginx['redirect_http_to_https_port'] = 82

nginx['listen_port'] = 82

# 配置2222端口

gitlab_rails['gitlab_shell_ssh_port'] = 2222


首行加入即可:

保存退出后重启gitlab,再查看项目地址是否正确

docker restart gitlab

重启完成(可能需要30秒)后,可以看到地址已经变成ip+端口号了

如果地址未变,则可尝试执行5.2,5.3进行重启,再查看项目地址是否正确


5.2、进入gitlab容器初始化配置

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

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

备注:如上信息如果出现了,然后等了将近一分钟的话,恭喜你在docker安装Gitlab成功通过了


5.3、重启:gitlab-ctl restart

重启成功后发现原来的容器ID已经变成了IP地址

注:如果容器运行启动的不是80端口,则这里git地址要加上对应的端口。如上面启动的端口是82映射到82端口此时git地址应使用:git clone http://192.168.85.136:82/root/test.git


6.访问:

稍等片刻,初始化完毕,再打开浏览器:ip地址:端口号 (http://192.168.85.134:82/)

修改密码为:123456789,修改完成:使用 用户名root,密码为123456789进行登陆。

7.创建一个项目

gitlab页面

下面我们就可以新建一个项目了,点击 创建一个项目

创建完成后:


8、gitlab随 docker 自启动

docker update gitlab --restart=always

注意:这里的 gitlab 是容器的名字,不是镜像的名字。

在启动系统后你必须等待1-2分钟才能使用GitLab。GitLab需要一些时间来启动。

docker update gitlab --restart=no,可取消自动重启


9 启动|停止|重启

docker start gitlab

docker stop gitlab

docker restart gitlab

注意:这里的 gitlab 是容器的名字,不是镜像的名字。


10、进入gitlab (optional)

docker exec -it gitlab /bin/bash

按Ctrl+D或输入exit退出。


11、拉取代码

git http://user:pssword@url

git clone ssh://user:pssword@url

注意:如果项目权限是公开则不需要输入用户名密码,要时候用ssh方式获取代码需要

Gitlib添加ssh key之后,才能正常使用

TortoiseGit如何添加ssh key,百度就可以


12、初始化提交项目

新建一文件夹,然后执行如下命令

git clone http://192.168.85.135:82/xxxx.git

推送到master,输入对应用户名密码即可

相关推荐

关于mac 苹果系统早期版本 装win10系统麦克风 摄像头不可用的问题

不建议用bootcamp装系统,有很多限制;尤其对于2013款macbookair,bootcamp是5.0版本,只能装微软官方的win7系统,不好的点是原版win7不带usb3.0驱动,...

U盘制作Win10启动盘

在前面的一个文章《解决Win7安装鼠标和键盘无法使用的问题...

15种常用的在线工具网站清单「值得收藏」

作者:Snailclimb转发链接:https://segmentfault.com/a/1190000022896257前言大家好,我是Echa,一个三观比主角还正的技术人。...

一文看懂Ajax,学习前端开发的同学不可错过

我是专注于软件开发和IT教育的孙鑫老师,出版过多本计算机图书,包括《JavaWeb开发详解》、《VC++深入详解》、《Struts2深入详解》、《Servlet/JSP深入详解》、《XML、XML...

SpringBoot使用ElasticSearch做文档对象的持久化存储?

ElasticSearch是一个基于Lucene的开源搜索引擎,广泛应用于日志分析、全文搜索、复杂查询等领域,在有些场景中使用ElasticSearch进行文档对象的持久化存储是一个很不错的选择...

HTML5 的一些小的整理吧

凌晨3:31家里打来电话奶奶走了,可是并不能回去。用一些整理的笔记来纪念吧虽然奶奶看不懂,如果手头有黑白的那张照片我一定会用canvas画一张悼词。说正题吧,主要的就是一些HTML5AP...

大数据Hadoop之——Azkaban API详解

一、AzkabanAPI概述通常,企业里一般不用使用webUI去设置或者执行任务,只是单纯的在页面上查看任务或者排查问题,更多的是通过AzkabanAPI去提交执行任务计划。Azkaban提供了...

php手把手教你做网站(三十)上传图片生成缩略图

三种方法:按比例缩小、图片裁切、预览图片裁切不管使用哪一个都是建立在图片已经上传的基础上;预览裁切上传,如果预览的图片就是原始大小,可以预览裁切以后上传(这里是个假象,下边会说明);...

国外免费公共云存储产品有哪些(上)?

公共云存储产品在今天正在变得越发火爆,人们与云端的关联无处不在。很多供应商为了让客户注册他们的产品,往往会提供免费的云存储来争取用户。今天我们来看看国外都有哪些可用的主流免费云储存网盘应用。国外免费公...

JSON&Ajax介绍和实例

1.JSON介绍JSON指的是JavaScript对象表示法(JavaScriptObjectNotation),JSON的本质仍然是JavaScript对象...

文件上传,排版是伤

当你还是一只猫的时候,记着你的目标要成为一只虎。当你成为一只虎的时候,别忘了你曾经是一只猫。心态要高,姿态要低。不要看轻别人,更不要高估自己。上传专题:文件上传操作图片预览功能...

Nodejs文件上传、监听上传进度

文件上传如果加上进度条会有更好的用户体验(尤其是中大型文件),本文使用Nodejs配合前端完成这个功能。前端我们使用FormData来作为载体发送数据。效果前端部分HTML部分和Js部分&...

推荐4个很棒的Java项目,超级适合小白练手,赶紧收藏!

好程序员今天给大家推荐4个很棒的Java练手项目,超适合小白哦~需要源码的,后台dd吧~一、...

SPRINGBOOT 实现大文件上传下载、分片、断点续传教程

SPRINGBOOT实现大文件上传下载、分片、断点续传教程,SPRINGBOOT大文件分片上传/多线程上传,SPRINGMVCWEBUPLOADER分片上传,超大文件上传下载以及秒传、提速和限速...

从致远OA-ajax.do任意文件上传漏洞复现到EXP编写

前言最近网上爆出致远OAajax.do登录绕过和任意文件上传漏洞,影响部分旧版致远OA版本(致远OAV8.0,致远OAV7.1、V7.1SP1,致远OAV7.0、V7.0SP1、V7.0SP2...