常用环境部署(八)——Docker安装GitLab

1、拉取gitlab社区版本镜像

(1)拉取13.10.2版本

复制代码
docker pull gitlab/gitlab-ce:13.10.2-ce.0

(2)拉取最新版的

复制代码
docker pull gitlab/gitlab-ce:latest

注意:下面安装以13.10.2版本为例

2、创建挂载目录

复制代码
mkdir -p /usr/local/gitlab/etc

mkdir -p /usr/local/gitlab/log

mkdir -p /usr/local/gitlab/data

3、启动GitLab服务

(1)查看镜像

复制代码
docker images

(2)启动 GitLab服务

复制代码
docker run -d -p 8443:443 -p 8090:80 -p 8022:22 --restart always --name gitlab -v /usr/local/gitlab/etc:/etc/gitlab -v /usr/local/gitlab/log:/var/log/gitlab -v /usr/local/gitlab/data:/var/opt/gitlab --privileged=true gitlab/gitlab-ce:13.10.2-ce.0

命令解释如下:

复制代码
docker run 
-d                #后台运行,全称:detach
-p 8443:443      #将容器内部端口向外映射
-p 8090:80       #将容器内80端口映射至宿主机8090端口,这是访问gitlab的端口
-p 8022:22       #将容器内22端口映射至宿主机8022端口,这是访问ssh的端口
--restart always #容器自启动
--name gitlab    #设置容器名称为gitlab
-v /usr/local/gitlab/etc:/etc/gitlab    #将容器/etc/gitlab目录挂载到宿主机/usr/local/gitlab/etc目录下,若宿主机内此目录不存在将会自动创建
-v /usr/local/gitlab/log:/var/log/gitlab    #与上面一样
-v /usr/local/gitlab/data:/var/opt/gitlab   #与上面一样
--privileged=true         #让容器获取宿主机root权限
gitlab/gitlab-ce:13.10.2-ce.0    #镜像的名称,这里也可以写镜像ID

(3)查看GitLab是否启动

复制代码
docker ps

4、 配置GitLab

(1)进入容器

复制代码
docker exec -it gitlab bash

(2)修改gitlab.rb文件

复制代码
//先进入到gitlab目录
cd /etc/gitlab   
//编辑gitlab.rb文件  
vim gitlab.rb

(3)修改gitlab.rb文件中的IP与端口号

复制代码
// 在gitlab创建项目时候http地址的host(不用添加端口)
external_url 'http://xx.xx.xx.xx'

(4)配置gitlab.yml文件

先进入到config目录下

复制代码
cd /opt/gitlab/embedded/service/gitlab-rails/config

打开编辑gitlab.yml文件

复制代码
vim gitlab.yml

修改host 与上面.rb文件修改的一致,修改port 为8090

5、重启GitLab服务(修改完配置要重启服务)

(1)容器内重启命令

复制代码
gitlab-ctl restart

(2)退出容器

复制代码
exit

(3) 常用命令

复制代码
// 这里的gitlab 就是我们上一步docker run 当中使用--name 配置的名字

//容器外停止
docker stop gitlab   

//容器外重启
docker restart gitlab

//进入容器命令行
docker exec -it gitlab bash

//容器中应用配置,让修改后的配置生效
gitlab-ctl reconfigure

6、访问GitLab

(1)使用浏览器打开GitLab

**注意:**第一次访问默认是root账户,会需要修改密码(密码至少8位数)设置好之后确定就行

访问链接如下:

复制代码
http://XXX.XX.XX.XX:8090/
相关推荐
扶疏5253 小时前
Kubernetes Dashboard、动态卷供应、StatefulSet
容器·kubernetes
云烟成雨TD5 小时前
Kubernetes 系列【14】对象元数据:标签、标签选择器、命名空间、字段选择器
云原生·容器·kubernetes
极客先躯6 小时前
高级java每日一道面试题-2026年04月05日-实战篇[Docker]-如何排查容器 OOM 的问题?
java·运维·docker·容器·内存溢出·高级面试
SLD_Allen6 小时前
K8s+Ray:大模型时代AI Workload调度的通用范式
人工智能·容器·kubernetes
镜像车间8 小时前
我用飞牛NAS在本地建了一个rhex论坛
docker
Skilce9 小时前
基于GitLab CI/CD + Kubernetes的自动化部署平台搭建
ci/cd·kubernetes·gitlab
极客先躯9 小时前
高级java每日一道面试题-2026年04月04日-实战篇[Docker]-如何排查容器存储挂载失败的问题?
java·运维·docker·容器·高级面试
行者-全栈开发9 小时前
Jenkins 与 GitLab 深度集成实战:从 Webhook 到 Merge Request 全流程自动化
gitlab·jenkins·webhook·merge request·multibranch·source plugin·ci/cd 自动化
宇晨T9 小时前
从零搭建企业级Web服务:Shell脚本 + LNMP + Docker 实战指南
前端·docker·容器
努力进修21 小时前
Docker+cpolar 实战:打造灵活可控的远程办公系统
运维·docker·容器