Docker安装Gitlab
将此文章写给我最心爱的女孩
1.拉取镜像
docker pull beginor/gitlab-ce
2.创建共享卷目录
[root@localhost gitlab]# mkdir etc
[root@localhost gitlab]# ls
etc
[root@localhost gitlab]# mkdir log
[root@localhost gitlab]# mkdir data
[root@localhost gitlab]# ls
data etc log
[root@localhost gitlab]# chmod 777 data/ etc/ log/
[root@localhost gitlab]# ls
data etc log
[root@localhost gitlab]#
3.创建并启动gitlab容器
docker run -itd --name=npy_gitlab --restart=always --privileged=true -p 8443:443 -p 80:80 -p 222:22 -v /home/gitlab/etc:/etc/gitlab -v /home/gitlab/log:/var/log/gitlab -v /home/gitlab/data:/var/opt/gitlab beginor/gitlab-ce
4.挂载文件之后先关闭下容器
docker stop npy_gitlab
5.修改配置文件:
文件在挂载目录的/home/gitlab/etc/gitlab.rb
# 修改 external_url
sed -i "/external_url 'GENERATED_EXTERNAL_URL'/a external_url\t'http://192.168.85.138' " /home/gitlab/etc/gitlab.rb
# 查看修改信息
cat /home/gitlab/etc/gitlab.rb | grep external_url
# 修改 gitlab_rails[‘gitlab_ssh_host’]
sed -i "/gitlab_ssh_host/a gitlab_rails['gitlab_ssh_host'] = '192.168.85.138' " /home/gitlab/etc/gitlab.rb
# 查看
cat /home/gitlab/etc/gitlab.rb | grep gitlab_ssh_host
# 修改 gitlab_rails[gitlab_shell_ssh_port]
sed -i "/gitlab_shell_ssh_port/a gitlab_rails['gitlab_shell_ssh_port'] = 222" /home/gitlab/etc/gitlab.rb
# 查看
cat /home/gitlab/etc/gitlab.rb | grep gitlab_shell_ssh
#vim编辑 gitlab/data/gitlab-rails/etc/gitlab.yml
production: &base
#
# 1. GitLab app settings
# ==========================
## GitLab settings
gitlab:
## Web server settings (note: host is the FQDN, do not include http://)
host: 192.168.85.138
port: 80
https: false
由于内存可能不够,会死机,因此还需要修改/etc/gitlab/gitlab.rb的配置信息
因为文件内容过多,所以建议通过ftp工具把文件拉取出来再vscode之类的编辑器里面进行修改,然后再替换回去
# unicorn改小进程数,及内存占用
unicorn['worker_processes'] = 2
unicorn['worker_memory_limit_min'] = "300 * 1 << 20"
unicorn['worker_memory_limit_max'] = "500 * 1 << 20"
sidekiq['concurrency'] = 4
prometheus_monitoring['enable'] = false
postgresql['shared_buffers'] = 256M
修改以上参数
gitlab服务器建议:2 core, 8G RAM
6.重新启动gitlab
docker start npy_jenkins
7.访问gitlab
http://192.168.85.138:80
第一次需要输入密码,随意
之后进行登录,账号随意,密码是刚才输入的密码
进入界面
如同github一样,可以创建仓库,然后上传项目