docker方式安装GitLab
docker pull gitlab/gitlab-ee:latest
企业版:gitlab-ee; 社区版:gitlab-ce
mkdir gitlab;
mkdir data conf logs
#! /bin/bash
sudo docker run -d --rm\ #启动命令
-p 8899:8899 \ #端口映射
--name gitlab \ #容器名称
-v $(pwd)/conf:/etc/gitlab \ #配置文件映射到宿主机件夹
-v $(pwd)/data:/var/opt/gitlab \ #启动脚本文件映射到宿主机
-v $(pwd)/logs:/var/log/gitlab \ #日志文件映射到宿主机
-e GITLAB_OMNIBUS_CONFIG=" external_url 'http://192.168.47.128:8899/';gitlab_rails['lfs_enabled'] = true;" \ #设置启动参数
gitlab/gitlab-ee:latest
chmod +x run-gitlab.sh
vim /etc/rc.d/rc.local #修改自启动文件rc.local
在rc.local文件中添加如下配置:
bash run-gitlab.sh的绝对路径
赋予rc.local x权限
chmod +x rc.local
- 运行脚本,启动gitlab
./run-gitlab.sh
docker ps -a | grep gilab
输入external_url中配置的url:http://192.168.47.128:8899
至此,gitlab安装完成。但是,管理员账号密码是什么呢?
管理员默认的账号是:root
不急,让我们进入到容器中,设置一下管理员密码
1、docker ps -a |grep gitlab #查看容器gitlab 的容器id
2、docker exec -it 容器id /bin/bash #进入容器
3、gitlab-rails console
4、输入命令:user=User.where(id:1).first
5、user.password='abc123456' #密码不能太短,英文数字混合
6、user.password_confirmation=‘abc123456'
7、user.save!
8、exit
问题总结
- 出现502错误
①修改gitlab.rb配置文件:
gitlab_workhorse['auth_backend'] = "http://127.0.0.1:10001"
#端口被不能占用
puma['listen'] = '127.0.0.1'
puma['port'] = 10001
②重新启动gitlab
docker stop gitlab容器id
run-gitlab.sh
- 消耗内存过大
修改gitlab.rb工作线程并发配置:
puma['worker_processes'] = 2 #工作线程数,默认是(cpu内核数+1)
puma['min_threads'] = 1 #最小线程数
puma['max_threads'] = 1 #最大线程数
puma['per_worker_max_memory_mb'] = 256 #工作线程最大内存分配
命令
- 启动配置文件:/conf/gitlab.rb
- 日志查询:
①进入容器
docker exec -ti 容器id /bin/bash
②执行日志查看命令
gitlab-ctl tail #查看gitlab所有组件的日志
#单独查看workhorse或者nginx的 gitlab-ctl nginx
参考文档:
https://zhuanlan.zhihu.com/p/328795102
https://www.hi-linux.com/posts/55356.html