千家信息网

用Docker安装Gitlab的方法步骤

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,Gitlab简介GitLab是一个Git的代码托管工具,有免费的社区版允许我们在本地搭建代码托管网站,也有付费的企业版网站,能够在线托管代码。传统方式是手动下载Gitlab的软件包,然后搭建相关运行环
千家信息网最后更新 2026年11月03日用Docker安装Gitlab的方法步骤

Gitlab简介

GitLab是一个Git的代码托管工具,有免费的社区版允许我们在本地搭建代码托管网站,也有付费的企业版网站,能够在线托管代码。传统方式是手动下载Gitlab的软件包,然后搭建相关运行环境。不过这种方式非常麻烦,而且如果要更换机器所有配置工作又得重来一边,如果有同学学过Java的话应该记得初学Java时配置环境变量的恐惧吧?因此更好的办法就是使用现在非常流行的Docker。

那么Docker又是个什么东西呢?这是一个虚拟化的运行工具,主要目的是将软件和整个运行环境打包起来,让我们不需要配置即可快速运行软件。由于Docker依赖于Linux内核的某些特性,所以Docker只能在Linux上运行。Windows上的Docker实际上是开了一个虚拟机。Docker目前好像没有比较好的中文社区,我谷歌了一下只找到了这个Docker中文社区,看起来还行。

安装docker

我用的是Archlinux,所以安装命令如下。

sudo pacman -S docker

如果使用其他系统的话需要改用相应的包管理工具。

安装好之后,来看看Docker的版本。

sudo docker version

应该会显示类似下面这样的信息。Docker客户端的版本最好在1.10以上。

Client: Version:  1.13.1 API version: 1.26 Go version: go1.7.5 Git commit: 092cba3727 Built:  Sun Feb 12 02:40:56 2017 OS/Arch:  linux/amd64Server: Version:  1.13.1 API version: 1.26 (minimum version 1.12) Go version: go1.7.5 Git commit: 092cba3727 Built:  Sun Feb 12 02:40:56 2017 OS/Arch:  linux/amd64 Experimental: false

这样Docker就安装成功了。

使用阿里云加速Docker

Docker官方镜像网站部署在外网,因此我们国内下载比较慢。看了一下国内最好的Docker加速服务就是阿里云了。阿里云的其他镜像比如Maven镜像之类的也都不错。

首先需要注册一个阿里云的帐号,可能还需要其他一点信息。然后进入容器Hub服务控制台,中间有一个加速器。我们点击它之后,阿里云会为我们创建一个专属加速器地址。

然后需要检查Docker客户端的版本,如果小于1.10,只能按照自己系统版本寻找相应的办法了。如果大于等于1.10,就可以直接使用下面的配置方法。配置方法很简单,在/etc/docker/daemon.json中添加一段配置。如果没有该文件则创建。

{ "registry-mirrors": [""]}

然后重启Docker服务。

sudo systemctl daemon-reloadsudo systemctl restart docker

下载Gitlab

配置好加速器之后,下载就很快了。直接执行下面的命令,稍等片刻之后,Docker就会将Gitlab下载好了。

sudo docker pull gitlab/gitlab-ce:latest

启动Gitlab

用下面的命令启动一个默认配置的Gitlab。如果我们只在本机测试使用的话,将hostname替换为localhost。如果需要让外部系统也能访问的话使用外网IP地址。

sudo docker run --detach \ --hostname gitlab.example.com \ --publish 443:443 --publish 80:80 --publish 22:22 \ --name gitlab \ --restart always \ --volume /srv/gitlab/config:/etc/gitlab \ --volume /srv/gitlab/logs:/var/log/gitlab \ --volume /srv/gitlab/data:/var/opt/gitlab \ gitlab/gitlab-ce:latest

首次启动可能比较慢,需要等待一分钟左右的时间。我们可以使用sudo docker ps命令查看当前所有Docker容器的状态。当它的状态由starting变为运行时间时,说明成功启动了。我们直接使用上面配置的IP地址(如localhost)在浏览器中访问即可。

初次使用需要我们创建默认管理员密码,随便指定一个就行了。然后我们需要注册一个普通用户。以后的使用方法和Github这样的工具很相似了。

配置Gitlab

刚刚启动Gitlab的时候需要我们输入一个密码,这个密码是管理员用户的密码。我们在登录那里使用root作为用户名,然后用刚刚设置的密码,就可以以管理员身份登录Gitlab。

登录进去之后,点击右上角的齿轮图标,即可进入到管理员页面。在这里我们可以设置很多东西。比如说,默认情况下每个用户只能创建10个仓库,我们可以改变这个设置。在管理员页面点击右面的齿轮,再点击设置,就会进入到系统设置中。然后找到Default projects limit一项,我们给它设个小目标,设它一个亿,这样就相当于无限仓库了。当然如果你实际硬盘满了也就不能在创建更多项目了。

如果这些配置还是不能满足你的需求的时候,还可以直接配置Gitlab。首先进入到Docker环境中。我们使用下面的命令进入Docker环境的bash中。gitlab是刚刚指定的Gitlab名称。

sudo docker exec -it gitlab /bin/bash

然后就进入了Docker的环境中,我们可以把它当作一个独立的系统来使用。然后编辑/etc/gitlab/gitlab.rb文件,这是Gitlab的全局配置文件。所有选项都可以在这里配置。

nano /etc/gitlab/gitlab.rb

详细的配置方法我也不会,直接看官方文档吧。

更新Gitlab

以后如果需要更新Gitlab版本,首先需要停止并删除当前的Gitlab实例。

sudo docker stop gitlabsudo docker rm gitlab

然后在拉取最新版的Gitlab。

sudo docker pull gitlab/gitlab-ce:latest

然后在使用上次的配置运行Gitlab即可。不用担心数据会丢失。只要你的volume参数指定还和上次一样,Gitlab就会自动读取这些配置。

sudo docker run --detach \--hostname gitlab.example.com \--publish 443:443 --publish 80:80 --publish 22:22 \--name gitlab \--restart always \--volume /srv/gitlab/config:/etc/gitlab \--volume /srv/gitlab/logs:/var/log/gitlab \--volume /srv/gitlab/data:/var/opt/gitlab \gitlab/gitlab-ce:latest

最后来看看使用Docker的优势。还是在Gitlab的Bash中。我们依次输入下面的命令,看看有什么反应。

ruby --versiongit --versionredis-cli --versionpsql --version

不出意外的话应该会显示对应软件的版本。我们看到Gitlab使用了4个开源软件或运行环境:ruby、git、redis和postgresql。如果我们手动安装Gitlab的话,这几个软件也必须分别安装和配置好。这个任务的难度可是非常大的。而且如果需要在多台机器上配置,那么任务量就更大了。但是如果使用Docker的话,我们甚至完全没必要知道这几个软件的存在,简单两条命令即可创建和运行Gitlab。这正是Docker的魅力,难怪现在越来越多的公司在使用Docker。

看到有个貌似不错的Docker教程,大家可以看看。

参考资料

https://www.jb51.net/article/131437.htm
https://docs.gitlab.com/omnibus/docker/README.html#gitlab-docker-images

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

配置 运行 命令 环境 软件 版本 面的 管理 密码 管理员 系统 阿里 方法 工具 用户 代码 加速器 地址 就是 文件 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技和互联网公司 疫情对互联网科技公司影响 科技与互联网发展 壹账通互联网科技 北京三清互联网科技 宁波青枫互联网科技有限公司 常德市电业局互联网科技部 互联网校园科技培训 世界互联网科技公司市值排名 千方科技属于互联网企业吗 互联网科技和法律行业 保险科技服务互联网营销体系 上海钢联属于互联网科技股吗 黑云互联网科技有限公司 云南省自由互联网科技有限公司 宁波跨境商互联网科技有限公司 全球科技与互联网公司市值变化 兰石爱特工业互联网科技分公司 北京天晋互联网科技有限公司 数字互联网科技有限公司 科技互联网产品 美国互联网科技 互联网与新科技 互联网科技视频 浩特互联网科技 华服互联网科技官网 崇明区互联网教育科技诚信经营 江阴互联网智能科技产品进口 电子科技大学互联网创业大赛 爱医互联网络科技
0