文章目录
- 1、环境准备
- 2、配置
-
- 1)、初始化、初始化)
- 2)、修改gitlab配置文件、修改gitlab配置文件)
- 3)、修改docker配置的gitlab默认端口、修改docker配置的gitlab默认端口)
- gitlab进阶配置
-
- [gitlab 设置账号密码](#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;