常用环境部署(八)——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/
相关推荐
bosins3 小时前
WSL2 启动即崩溃?调整超时参数解决 Docker 阻塞问题
linux·docker·wsl
闲云自留地4 小时前
Containerd 进阶教程:命名空间 Namespace、私有仓库 Harbor、容器管理全流程
容器
daemon.qiang4 小时前
国内虚拟机对接 Freedesktop:Fork xserver、自建 Runner 与提交 MR 实战
linux·ubuntu·centos·gitlab·开源软件
一直在努力学习的菜鸟5 小时前
Docker 完整知识体系图
docker
闲云自留地6 小时前
Containerd 是什么?架构、插件与安装实践一次讲清
容器
java_logo8 小时前
Docker 部署 Gotenberg 完整教程:Compose 搭建文档转 PDF API
docker·pdf·chromium·libreoffice·文档转换·轩辕镜像·gotenberg
闲云野鹤在人间8 小时前
docker 入门 | 第7章 容器监控 和 第8章 容器日志 详解
运维·docker·容器·架构·云计算
Experience-摆渡9 小时前
开源RAG知识库WeKnora深度调研:让知识自己长成体系
爬虫·docker·开源·rag
闲云野鹤在人间9 小时前
docker 入门 | 第5章 网络详解
网络·docker·架构·华为云·php
闲云自留地10 小时前
告别敲命令!DockerUI 与 Portainer 可视化容器管理实战
docker·容器