Docker实战:Docker安装Gitlab教程,值得收藏

1、Gitlab介绍

GitLab 是一个用于代码仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务平台,

通过该平台可以实现Github类似的web系统,可以实现浏览代码、管理项目、管理团队人员、管理代码分支、代码提交记录等功能。Gitlab是目前互联网公司最流行的代码版本控制平台。

2、gitlab与github对比

gitlab:比较适合公司内部的项目管理,用来管理项目成员、代码提交、项目运维。分为社区免费版和企业收费版,针对中小型公司推荐使用社区免费版,功能就够用了。

github:作为“最大的同性交友网站”,里面的大部分项目都是开源的,通过全世界最大的程序员交流平台,可以分享自己的技术、提升自己的知名度。作为公司的内部项目管理就不太适合了。

3、Gitlab安装教程

安装GitLab官方推荐至少4G的内存【我是8G才跑起来】,否则可能会卡顿或者运行非常慢,建议小伙伴们采用4G以上的云服务进行测试,或者本地搭建虚拟机的方式来做。

3.1 搜索Gitlab镜像

docker search gitlab

3.2 下载Gitlab社区免费版最新镜像

说明:ce 表示社区免费版 ,ee 表示企业付费版

docker pull gitlab/gitlab-ce

3.3 查看镜像是否下载成功

#获取本地镜像列表查看是否有gitlab-ce的镜像

docker images

3.4 运行Gitlab镜像

docker run -d \
--hostname gitlab.xxx.com \
--name gitlab \
--restart always \
-p 8082:443 -p 8083:80 -p 8084:22 \
-v /etc/localtime:/etc/localtime:ro \
-v /usr/local/gitlab_data/gitlab/config:/etc/gitlab \
-v /usr/local/gitlab_data/gitlab/logs:/var/log/gitlab \
-v /usr/local/gitlab_data/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce

参数说明

  • -d 指定后台运行

  • --hostname 指定主机名

  • --name 指定容器名

  • -p 端口映射 443 https端口 80 http端口 22 ssh端口

  • --restart always  容器停止后的重启策略: 容器退出时总是重启

  • -v 指定挂载存储卷首先在宿主主机创建对应的目录

3.5 配置防火墙开放云服务器的端口

如果你购买的是云服务器的话,需要设置外网端口开放。常见的阿里云、华为云、腾讯云都可以很方便设置端口开放,大家可以自行百度。

防火墙的设置命令如下:

systemctl status firewalld #查看防火墙状态
systemctl start firewalld #开启防火墙
systemctl stop firewalld #关闭防火墙
firewall-cmd --list-ports #查看开放端口
#设置8082-8084端口开放
firewall-cmd --zone=public --add-port=8082-8084/tcp --permanent
firewall-cmd --list-ports #再次查看是否开放

3.6 测试能否正常访问

设置完成后,通过ip+端口进行访问。

3.7 配置https访问

nginx配置ssl可以参考我之前的一篇文章介绍dockers安装nginx配置ssl的教程。

3.8 认账户名是root,密码存放在配置文件

 gitlab-ce初装以后,把密码放在了一个临时文件里面了。这个文件将在首次执行reconfigure后24小时自动删除,文件内容。

initial_root_password

将Password内容复制去登录界面即可

4、gitlab太占内存,降低gitlab内存占用的配置优化 

要减少gitLab的内存占用,需要修改其配置文件,以上面的配置启动后,gitlab的配置文件 gitlab.rb就在目录/opt/gitlab13.3/config 中。然后我们就可以开始编辑这个配置文件。进行以下修改:

1.减少数据库缓存

postgresql['shared_buffers'] = "64MB"

2.减少数据库并发数

postgresql['max_worker_processes'] = 1

3.减少sidekiq并发数

sidekiq['concurrency'] = 1

4.减少进程数

unicorn['worker_processes'] = 1
nginx['worker_processes'] = 2

5.减少超时时间

unicorn['worker_timeout'] = 10

6.减少数据库缓存

postgresql['shared_buffers'] = "64MB"

7.将worker内存上限设置小一点

unicorn['worker_memory_limit_min'] = "100 * 1 << 20"
unicorn['worker_memory_limit_max'] = "220 * 1 << 20"

8.禁用prometheus

prometheus_monitoring['enable'] = false

9.关闭一些监控和性能基准相关的功能

prometheus['enable'] = false
prometheus_monitoring['enable'] = false
alertmanager['enable'] = false
node_exporter['enable'] = false
redis_exporter['enable'] = false
postgres_exporter['enable'] = false
pgbouncer_exporter['enable'] = false
gitlab_exporter['enable'] = false
grafana['enable'] = false
sidekiq['metrics_enabled'] = false

5、端口配置

我这里直接用ip+端口了,修改配置如下,这样仓库地址就带上端口了。

external_url 'http://43.136.xxx.xxx:8080'

容器内Nginx还是默认80访问

nginx['listen_port'] = 80

6、总结

以上就是docker安装gitlab的教程,如果大家安装过程种遇到问题,欢迎留言沟通!

猜你喜欢

转载自blog.csdn.net/meimeieee/article/details/128474758
今日推荐