常用环境部署(八)——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/
相关推荐
江湖有缘5 分钟前
Docker开源项目: 基于Ubuntu系统部署ExpenseOwl自托管记账工具实战教程
ubuntu·docker·开源
qizhideyu1 小时前
kubernetes中的pod管理
云原生·容器·kubernetes
lxw20230271161 小时前
k8s的pod管理
linux·容器·kubernetes
Yiiz.2 小时前
Kubernetes Pod 与控制器知识点
云原生·容器·kubernetes
高磊20052 小时前
Kubernetes Pod 管理实战详解
linux·容器·kubernetes
流星白龙2 小时前
【Docker】9.Docker 镜像仓库实战
运维·docker·容器
想要成为老金高手2 小时前
Kubernetes 实战笔记(一):Pod 管理与 kubectl 核心命令全解
笔记·容器·kubernetes
张洛闻Eren2 小时前
云原生k8s【第六课】:K8s 访问控制
运维·docker·云原生·容器·kubernetes·k8s
Kina_C3 小时前
Kubernetes Pod 全生命周期管理:从命令实操到控制器版本更替
云原生·容器·kubernetes
奇特認3 小时前
kubernetes pod管理
云原生·容器·kubernetes