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/

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

相关推荐
蝎子莱莱爱打怪12 小时前
GitLab CI/CD + Docker Registry + K8s 部署完整实战指南
后端·docker·kubernetes
chlk12319 小时前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑19 小时前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件20 小时前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
深紫色的三北六号1 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash1 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
小p2 天前
docker学习7:docker 容器的通信方式
docker
小p2 天前
docker学习5:提升Dockerfile水平的5个技巧
docker
小p2 天前
docker学习3:docker是怎么实现的?
docker
哈基咪怎么可能是AI2 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github