常用环境部署(八)——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/
相关推荐
曲幽9 小时前
别再用网页翻译看源码了!你的私人翻译神器LibreTranslate,部署避坑指南来了
python·docker·web·pot·translate·libretranslate·arogstranslate
武子康2 天前
调查研究-183 Apple container:Mac 上用轻量 VM 跑 Linux 容器,Swift 会改写本地容器体验吗?
docker·容器·apple
Alsn865 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
2601_961875245 天前
决战申论100题2026|最新|范文
linux·容器·centos·debian·ssh·fabric·vagrant
java_cj5 天前
深入kube-apiserver认证机制:从Bearer Token到mTLS的完整认证链解析
linux·运维·服务器·云原生·容器·kubernetes
程序员老赵5 天前
服务器没有桌面?Docker 跑个 Chrome,浏览器就能远程用
docker·容器·devops
杨浦老苏5 天前
轻量级Docker仪表板Servedash
运维·docker·监控·群晖·仪表板
正经教主5 天前
【docker基础】 第八周:容器监控与应用更新策略
运维·docker·容器
kiros_wang5 天前
Docker 使用完整指南
运维·docker·容器
正经教主5 天前
【docker基础】第九周:Docker安全与镜像优化
运维·docker·容器