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/

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

相关推荐
命运之光2 分钟前
【快速解决】Linux服务器安装Java17运行环境
linux·运维·服务器
你喜欢喝可乐吗?3 分钟前
Ubuntu服务器无法显示命令行登录提示
linux·运维·服务器·ubuntu
团儿.8 分钟前
Docker Swarm:打造高效、可扩展的容器编排引擎,引领微服务新纪元(上)
docker·微服务·容器·docker-swarm集群
small_white_robot13 分钟前
vulnerable_docker_containement 靶机
运维·网络·web安全·网络安全·docker·容器
FJW02081423 分钟前
【Linux】用户管理及优化
linux·运维·服务器
---学无止境---27 分钟前
Linux中内核和用户空间通信send_uevent函数的实现
linux·网络
艾莉丝努力练剑1 小时前
【C++:继承】C++面向对象继承全面解析:派生类构造、多继承、菱形虚拟继承与设计模式实践
linux·开发语言·c++·人工智能·stl·1024程序员节
报错小能手1 小时前
项目——基于C/S架构的预约系统平台(3)
linux·开发语言·笔记·学习·架构·1024程序员节
心寒丶1 小时前
Linux基础知识(三、Linux常见操作目录命令)
linux·运维·服务器·1024程序员节
ajassi20001 小时前
开源 Linux 服务器与中间件(十二)FRP内网穿透应用
linux·服务器·开源·frp