Gitlab基础篇: Gitlab docker 安装部署、Gitlab 设置账号密码

文章目录

1、环境准备

安装docker gitlab前确保docker环境,如果没有搭建docker请查阅"Linux docker 安装文档"

docker 下载 gitlab容器

复制代码
docker pull gitlab/gitlab-ce

2、配置

1)、初始化

复制代码
docker run --detach --name gitlab -p 18081:80 -p 10022:22 --restart always -v /backup/gitlab/config:/etc/gitlab -v /backup/gitlab/logs:/var/log/gitlab -v /backup/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:latest

参数解析

命令 参数 解析
-name gitlab 容器的名称
-p 18081:80 80端口为gitlab可视化操作服务的默认访问端口,防止占用将80更改为18081
-p 10022:22 22为ssh 端口,因为冲突所以改成10022
--restart always ----null----- 该配置当docker重启时,gitlab也会随着docker自动重启
-v path1:path2 将data、log、config等默认路径修改为path1

2)、修改gitlab配置文件

修改gitlab配置文件

复制代码
vim /backup/gitlab/config/gitlab.rb
key value
external_url 'http://ip:18081'

3)、修改docker配置的gitlab默认端口

修改docker镜像的gitlab容器端口前需要把gitlab容器以及docker镜像关闭

关闭gitlab容器

复制代码
docker stop gitlab

关闭docker镜像

复制代码
systemctl stop docker

查看docker下所有容器的ID

进入docker配置文件目录

复制代码
cd /var/lib/docker/containers

可以看到在docker ps -a 打印中看到 容器ID ps 展示的容器ID只时原来的一部分

554ab7170af6

通过容器ID就能找到containers下具体哪一个是gitlab容器的配置
554ab7170af6f10f7388a577aed45658b39b5a926b8a3f55f7e0a2bfa22af879

进入容器配置目录

复制代码
cd 554ab7170af6f10f7388a577aed45658b39b5a926b8a3f55f7e0a2bfa22af879

修改config.v2.json、hostconfig.json文件

复制代码
vim config.v2.json

json文件很乱可以通过文件查询方式找到需要修改的地方

vim进入后可以使用Shift+/(打出问号?)直接输入关键字ExposedPorts (注:查询模式可以用N键跳转到下一个 #E91E63 )

修改成如下即可然后保存

json 复制代码
"ExposedPorts": {
			"18081/tcp": {},
			"22/tcp": {},
			"443/tcp": {},
			"80/tcp": {}
		}

修改hostconfig.json

复制代码
vim hostconfig.json

老办法查询关键字PortBindings

直接修改成如下即可然后保存

json 复制代码
"PortBindings": {
		"18081/tcp": [{
			"HostIp": "",
			"HostPort": "18081"
		}],
		"22/tcp": [{
			"HostIp": "",
			"HostPort": "10022"
		}]
	}

gitlab进阶配置

gitlab 设置账号密码

先登录到docker gitlab容器中

shell 复制代码
	docker exec -it 容器id /bin/bash

进入gitlab 控制台

shell 复制代码
gitlab-rails console -e production

登录成功

查看所有用户

shell 复制代码
User.all

上图可看出有两个账号

我们以root账号为例来修改密码

将用户对象赋值给user变量

shell 复制代码
user=User.find(1)

修改密码

shell 复制代码
user.password = 'new_password'

确认密码

shell 复制代码
user.password_confirmation = 'new_password'

保存

shell 复制代码
user.save!

查看用户状态

shell 复制代码
user.state
#查询其他用户的信息也可以通过以下命令
User.where(id:1).first
User.find_by(username:'root')
User.find_by(email:'*****@qq.com')

退出gitlab 控制台

shell 复制代码
exit;
相关推荐
AI大模型5 小时前
基于 Docker 的 LLaMA-Factory 全流程部署指南
docker·llm·llama
春人.5 小时前
PortainerCE 跨云管理:cpolar 内网穿透服务实现多环境统一控制
云原生·eureka
极小狐6 小时前
GitLab 安全漏洞 CVE-2025-7739 解决方案
ci/cd·gitlab·devsecops·devops·极狐gitlab
tb_first7 小时前
k8sday11服务发现(2/2)
docker·云原生·容器·kubernetes·k8s
发愤图强的羔羊7 小时前
Docker 搭建 SVN 服务器
docker
为了摸鱼而战7 小时前
Dockerfile知识点梳理,你要搞懂的都在这
docker
Clownseven8 小时前
Docker+Nginx+Node.js实战教程:从零搭建高可用的前后端分离项目
nginx·docker·node.js
__lll_1 天前
手把手教你用 Docker 部署 Vue 项目(含国内镜像加速 + 踩坑指南)
docker
程思扬1 天前
Nextcloud容器化部署革新:Docker+Cpolar构建高效私有云远程访问新架构
docker·容器·架构
豆芽脚脚2 天前
docker compose再阿里云上无法使用的问题
阿里云·docker·容器