Docker Compose方式安装GitLab
文章目录
- 用Docker Compose方式安装GitLab
- 前提条件
- 一键自动化以Docker Compose方式安装GitLab
- GitLab Docker Compose文件
- 安装和运行GitLab
- 打开防火墙端口
- 访问GitLab
- 配置Gitlab
- Troubleshooting
- 其它参考文档
用Docker Compose方式安装GitLab
前提条件
要求至少2vCPU4G
配置,否则会因为CPU太忙或内存不足导致GitLab不断重启和502错误。
参见:
- https://gitlab.com/help/install/requirements.md
建议安装htop
里监控CPU、内存和Swap的资源使用情况:
yum install htop -y
一键自动化以Docker Compose方式安装GitLab
- https://github.com/cookcodeblog/OneDayDevOps/blob/master/components/gitlab-docker/install_gitlab.sh
GitLab Docker Compose文件
GitLab官方给的GitLab Docker镜像启动后无法访问,且定位不到问题,所以使用GitHub著名博主sameersbn封装的镜像。
Gitlab的docker-compose.yml
参见:https://github.com/sameersbn/docker-gitlab
- Replace values of below keys using
pwgen -Bsv1 64
GITLAB_SECRETS_DB_KEY_BASE
GITLAB_SECRETS_SECRET_KEY_BASE
GITLAB_SECRETS_OTP_KEY_BASE
Run
yum install pwgen -y
to installpwgen
if it is not installed.
Set value of
GITLAB_HOST
Set value of
password
Set timezone
TZ
asAsia/Shanghai
and GITLAB_TIMEZONE=Beijing
GITLAB_TIMEZONE的值为RubyOnRails的timezone语法,参见:
https://api.rubyonrails.org/classes/ActiveSupport/TimeZone.html
一个GitLab的docker-compose.yml
例子:
https://github.com/cookcodeblog/OneDayDevOps/blob/master/components/gitlab-docker/docker-compose.yml
这里使用10080和10022分别作为HTTP和SSH端口,并设置时区为中国时间。
安装和运行GitLab
mkdir -p /opt/gitlab
cp docker-compose.yml /opt/gitlab
cd /opt/gitlabdocker-compose up -d
查看日志:
docker-compose logs -f
Debug:
docker-compose exec gitlab /bin/bash
打开防火墙端口
在防火墙上打开HTTP和SSH端口:
firewall-cmd --list-all# http port
firewall-cmd --zone=public --add-port=10080/tcp
firewall-cmd --zone=public --add-port=10080/tcp --permanent# ssh port
firewall-cmd --zone=public --add-port=10022/tcp
firewall-cmd --zone=public --add-port=10022/tcp --permanentfirewall-cmd --reload
firewall-cmd --list-all
访问GitLab
在浏览器中打开http://<gitlab_host>:10080
配置Gitlab
参见:
- 配置GitLab
Troubleshooting
Q: GitLb不断重启,CPU负载很高,且报错:unicorn (exit status 1; not expected)
A:
先运行
htop
检查服务器的CPU和内存资源使用情况,最少需要2vCPU4G运行
ulimit -a
查看ulimit
,并可运行以下命令增加ulimit
:ulimit -u unlimited ulimit -n 65535
参见:https://blog.csdn.net/duanbiren123/article/details/80190750
运行
docker-compose logs -f
查看日志运行以下命令:
docker-compose exec gitlab tail -f /var/log/gitlab/gitlab/unicorn.stderr.log
查看unicorn日志,如果日志中报错如下:
/home/git/gitlab/vendor/bundle/ruby/2.6.0/gems/unicorn-5.4.1/lib/unicorn/http_server.rb:205:in `pid=': Already running on PID:581 (or pid=/home/git/gitlab/tmp/pids/unicorn.pid is stale) (ArgumentError)
则需要执行以下命令删除
unicorn.pid
,再重启GitLab:docker-compose exec gitlab rm -f /home/git/gitlab/tmp/pids/unicorn.pid && docker-compose down && docker-compose up -d
或者更彻底地先删除持久卷,再重启GitLab:
docker-compose exec gitlab rm -f /home/git/gitlab/tmp/pids/unicorn.pid && docker-compose down && rm -rf /srv/docker/gitlab && docker-compose up -d
重启浏览器,再次访问GitLab
参考文档:
- https://blog.stead.id.au/2017/03/synology-gitlab-error-502.html
- https://github.com/sameersbn/docker-gitlab/issues/1861
Q: Docker Compose启动GitLab不成功,报错:Bind for 0.0.0.0:10080 failed: port is already allocated’
A:
- 先运行
docker stop gitlab
停止GitLab相关容器 - 再运行
docker-compose up -d
启动GitLab
其它参考文档
- https://docs.gitlab.com/omnibus/docker/#install-gitlab-using-docker-compose
- https://docs.gitlab.com/omnibus/docker/#pre-configure-docker-container
- https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-config-template/gitlab.rb.template
- https://hub.docker.com/r/gitlab/gitlab-ce
- https://developer.ibm.com/code/2017/07/13/step-step-guide-running-gitlab-ce-docker/
Docker Compose方式安装GitLab相关推荐
- 阿里云服务器Docker及Docker Compose的安装
2019独角兽企业重金招聘Python工程师标准>>> 本文对阿里云ECS服务器如何安装Docker和Docker Compose进行说明,以centOS系统为例. 一.开通外网的E ...
- Docker与Docker Compose的安装以及Portainer容器管理工具
Docker官网 概述 Docker 是一个用于开发.发布和运行应用程序的开放平台.Docker 能够将应用程序与基础架构分离,以便可以快速交付软件.使用 Docker,可以像管理应用程序一样管理基础 ...
- docker compose linux安装以及使用
1 安装 Compose 安装 Linux Linux 上我们可以从 Github 上下载它的二进制包来使用,最新发行的版本地址:https://github.com/docker/compose/r ...
- Ubuntu18.04或者20.04上用docker的方式安装微信或者qq
前言 日常生活中,微信和qq等一些常用的IM软件必不可少,但是腾讯一直没有提供Linux版本的安装包,为自己的工作和生活增加了不少麻烦,目前可以采用的登录方式有三种,一种是网页版微信登录,但是经常会受 ...
- docker Compose 下载安装
在linux上 请注意,Compose standalone 使用-compose语法而不是当前的标准语法compose. 例如docker-compose up,在使用 Compose standa ...
- Docker 方式安装 gitlab ( 阿里云ECS )
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 1.查找镜像: docker search gitlab 2. 拉取镜像: docker pull ...
- docker compose快速按照GitLab代码托管工具以及GitLab基本用法
Git 与 SVN 区别 GitLab 是利用 Ruby on Rails 一个开源的版本管理系统,实现一个自托管的 Git 项目仓库,可通过 Web 界面进行访问公开的或者私人项目.它拥有与 Git ...
- 1.2 win10下Docker 和 Docker Compose的安装
参考步骤 中文: https://www.runoob.com/docker/windows-docker-install.html 英文官网: https://docs.docker.com/doc ...
- docker之win安装gitlab
以下是windows10安装Docker DeskTop的步骤(!!!特别注意,docker和虚拟机系统不能共存,消勾程序和功能里面->Hyper-V的后虚拟机内的系统才能正常启动,但消勾后do ...
最新文章
- 高中计算机个人总结怎么写,毕业生自我总结范文
- DHCP常用配置文件解析
- mysql 优化实例(百万级数据)
- 详细解析用C#写的小游戏《彩色连珠》(附源代码)
- 推荐一个算法/数据结构 可视化(Data structure Visualization) 网站
- python文件读取 ,json文件的存储
- 2021-03-09 Matlab RBF神经网络及其实例
- 史上最全Vim快捷键键位图(入门到进阶)
- leetcode50:Pow(x, n)详解——pygo
- [加壳脱壳] VMP壳原理简介
- 北京市海淀区卫星地图离线包下载
- 电子基础大全:整理了电子设计所需的基础知识
- 专业学习与职业发展之我见
- PhotoShop 橡皮擦工具组、渐变工具
- 五步恢复XP系统“桌面清理向导”
- Tomcat配置https 访问http跳转https 配置域名
- 设置gvim中横竖光标_VIM配置高亮光标所在行和所在列
- Seaweedfs上传大文件_large file
- JavaWeb - 小米商城:用户注册
- win7系统问题:——桌面壁纸变黑解决方案