Linux环境docker安装gitlab(简单粗暴,复制即用)

前言

为方便运维,本人将常用docker安装镜像方式总结如下:

一、安装gitlab

1.查询镜像

java 复制代码
docker search gitlab

2.拉取镜像

可以根据自己需求拉取想要的版本,我选的是中文版

java 复制代码
docker pull twang2218/gitlab-ce-zh

3.创建挂载路径

java 复制代码
mkdir -p /mydata/gitlab/etc
mkdir -p /mydata/gitlab/log
mkdir -p /mydata/gitlab/data

4.启动镜像

java 复制代码
docker run -d -p 8443:443 -p 8090:80 -p 8022:22 --restart always --name gitlab -v /mydata/gitlab/etc:/etc/gitlab -v /mydata/gitlab/log:/var/log/gitlab -v /mydata/gitlab/data:/var/opt/gitlab --privileged=true twang2218/gitlab-ce-zh

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权限

twang2218/gitlab-ce-zh #镜像的名称,这里也可以写镜像ID

5.查看Gitlab是否已经启动

java 复制代码
docker ps

二、配置Gitlab

1.首先,先进入容器

java 复制代码
docker exec -it gitlab bash

2.修改gitlab.rb文件中的IP与端口号

java 复制代码
vim /etc/gitlab/gitlab.rb

将一下内容复制到gitlab.rb文件(注意修改成自己的ip),修改完成后 :wq 保存退出

java 复制代码
external_url 'http://xx.xx.xx.xx'
gitlab_rails['gitlab_ssh_host'] = '192.168.XX.XX'
gitlab_rails['gitlab_shell_ssh_port'] = 8022

3.配置gitlab.yml文件

java 复制代码
vim /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml

如图,IP修改成自己的IP,端口和启动命令端口一致,默认80端口,但是因为一般服务器80端口都被nginx占用,所以我这没有使用80

4.重启服务

java 复制代码
gitlab-ctl restart

5.使用浏览器打开Gitlab

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

URL:http://192.168.XX.XX:8090/

到了这一步说明已经安装成功了,可以去使用了

相关推荐
长不大的杨瑞杰10 小时前
OpenCode v2 GitLab 集成实战:Issue 驱动开发、MR 审查与 CI/CD 最小权限
人工智能·ci/cd·gitlab·ai编程·opencode
女神下凡10 小时前
芯参谋(87):Linux 系统(SPI NOR)驱动开发指南
linux·运维·arm开发·驱动开发·嵌入式硬件·设计规范
wuminyu16 小时前
JVM规范学习总结:解释器与JIT编译器如何处理JVM字节码
java·linux·c语言·jvm·c++
IMPYLH17 小时前
Linux 的时间为什么会被拨回去
linux·运维·服务器
叼烟扛炮19 小时前
[Git 实战] 学习笔记:从生成 SSH 密钥到解决 TortoiseGit 推送报错全指南
linux·运维·笔记·git·学习
xbzb19 小时前
OpenStack 网络管理(理论):Linux 网络虚拟化是 Neutron 的地基
linux·服务器·网络·openstack·network·neutron
Android系统攻城狮21 小时前
Linux FFmpeg深度解析之avcodec_flush_buffers调用流程与实战(十九)
linux·运维·服务器·ffmpeg·车载音视频·ffmpeg音视频进阶
水饺编程1 天前
第2章:Linux 基础,解压缩【.tar.bz2】压缩包文件
linux·c语言·汇编
Zevalin爱灰灰1 天前
Linux入门第二部分(ARM裸机篇) 第二章 Cortex-A7 MPCore架构与ARM汇编基础
linux·汇编·arm开发·嵌入式
倔强的石头1061 天前
【Linux指南】进程通信系列(七):System V 信号量 —— 同步互斥的内核原语
linux·运维·服务器