docker-compose部署gitlab
一、安装docker-compose步骤可参考本博客其他文章
二、这里的ssl证书是使用letsencrypt生成,
可参考文档https://my.oschina.net/u/3042999/blog/1858891
https://wzfou.com/letsencrypt/
三、创建容器网络
docker network create netgitlab
如何自定义gitlab的url访问端口,参考下面配置
四、docker-compose.yml文件如下,注意因为我这里启用了https,且使用的是非标准443端口,故需要
在external_url参数的域名后带上端口号,注意需要把非标准的端口号暴露出来,即3001:3001
如不在域名后面带上端口,可以传入参数:nginx['listen_port'] = 端口号,来指定nginx的监听端口
值得注意的是不要忘记将自定义端口号进行映射,如使用非标准的80或443端口,不按照上述方式配置
在git clone界面域名之后将不带端口号,配置正确如下图所示

[root@hadoop01 gitlab]# more docker-compose.yml
version: "2.4"
networks:
netgitlab:
external: true services:
ol-gitlab:
image: gitlab/gitlab-ce:11.11.0-ce.0
container_name: ol-gitlab
hostname: ol-gitlab
ports:
- "3088:80"
- "3001:3001"
- "10022:22"
networks:
- netgitlab
volumes:
- "/etc/localtime:/etc/localtime"
- "./config:/etc/gitlab"
- "./logs:/var/log/gitlab"
- "./data:/var/opt/gitlab"
- "./data/gitlab-backup:/data/gitlab-backup" environment:
GITLAB_OMNIBUS_CONFIG: |
unicorn['worker_timeout'] = 60
unicorn['worker_processes'] = 5
unicorn['worker_memory_limit_min'] = "200 * 1 << 20"
unicorn['worker_memory_limit_max'] = "300 * 1 << 20"
sidekiq['concurrency'] = 10
external_url 'https://git.xxxxx.com:3001'
gitlab_rails['backup_path'] = "/data/gitlab-backup"
gitlab_rails['backup_keep_time'] = 1296000
gitlab_rails['time_zone'] = 'Asia/Shanghai'
gitlab_rails['backup_archive_permissions'] = 0644
gitlab_rails['gitlab_shell_ssh_port'] = 10022
nginx['enable'] = true
nginx['client_max_body_size'] = '10240m'
nginx['redirect_http_to_https'] = true
nginx['ssl_certificate'] = "/etc/gitlab/ssl/fullchain.cer"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/git.xxxx.com.key"
nginx['ssl_ciphers'] = "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256"
nginx['ssl_prefer_server_ciphers'] = "on"
nginx['ssl_protocols'] = "TLSv1.1 TLSv1.2"
nginx['ssl_session_cache'] = "builtin:1000 shared:SSL:10m"
nginx['listen_addresses'] = ["0.0.0.0"]
nginx['http2_enabled'] = true
postgresql['max_worker_processes'] = 8
postgresql['shared_buffers'] = "256MB"
mem_limit: 4096m
restart: always
user: root
启动容器并拉取相关镜像
docker-compose up -d
这里使用docker-compose部署的优点在于方便gitlab后期版本升级,只需要替换images镜像地址重建容器即可,且数据迁移方便
参考:https://blog.51cto.com/191226139/2362894
docker-compose部署gitlab的更多相关文章
- Docker Compose部署GitLab服务,搭建自己的代码托管平台(图文教程)
场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...
- 3.Docker Compose 部署 GitLab
什么是 GitLab GitLab 是利用 Ruby on Rails 一个开源的版本管理系统,实现一个自托管的 Git 项目仓库,可通过 Web 界面进行访问公开的或者私人项目.它拥有与 Githu ...
- 从零开始一步一步搭建Ubuntu Server服务器、修改数据源、安装Docker、配置镜像加速器、Compose部署Gitlab服务
场景 最终目的是使用Docker Compose部署一个Gitlab服务. 效果 注: 博客: https://blog.csdn.net/badao_liumang_qizhi关注公众号 霸道的程序 ...
- Ubuntu Server 上使用Docker Compose 部署Nexus(图文教程)
场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...
- 使用Docker Compose部署基于Sentinel的高可用Redis集群
使用Docker Compose部署基于Sentinel的高可用Redis集群 https://yq.aliyun.com/articles/57953 Docker系列之(五):使用Docker C ...
- Docker Compose 部署前后端分离应用
部署前后端分离应用 容器化 Abp 应用 关于 Abp 应用的容器化,其实和普通的 ASP.NET Core 应用差不多,大家可以参考我此前的文章. 唯一需要注意的是:因为 Abp 解决方案中有多个项 ...
- Docker Compose部署项目到容器-基于Tomcat和mysql的项目yml配置文件代码
场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...
- 在Windows Server 2019通过Docker Compose部署Asp.Net Core
一.安装Docker Enterprise 安装文档是: https://docs.docker.com/install/windows/docker-ee/ 安装完成后,如下图 二.首先,拉取一个W ...
- 使用Docker Compose 部署Nexus后初次登录账号密码不正确,并且在nexus-data下没有admin,password
场景 Ubuntu Server 上使用Docker Compose 部署Nexus(图文教程): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/ ...
- Docker Compose部署Nexus3时的docker-compose,yml代码
场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...
随机推荐
- nginx yaf需要注意的问题
nginx yaf需要注意的问题 显示视图的方法<pre> $this->getView()->assign(array('pack'=>$return['pack'], ...
- Python Number(数字)
Python Number 数据类型用于存储数值. 数据类型是不允许改变的,这就意味着如果改变 Number 数据类型的值,将重新分配内存空间. 以下实例在变量赋值时 Number 对象将被创建: A ...
- CSS选择符、伪类、层叠
主题,架子(时间架子,空间架子,三角架),素材. CSS 三种方式 行内样式 嵌入样式 链接样式 上下文选择符 祖父 孙 p em {color:red;} 父 子 p > em {color: ...
- .NET Core sdk和runtime区别
SDK和runtime区别 .net core Runtime[跑netcore 程序的] (CoreCLR) .net core SDK (开发工具包 [runtime(jre) + Rolysn( ...
- spark streaming与storm比较
- mysql测试,配置环境 mysql' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
参考链接:https://www.cnblogs.com/ios9/p/9713388.html 1.设置一下环境变量: 右击我的电脑——>属性——>高级系统设置——> ...
- NET Core 3.0 AutoFac替换内置DI的新姿势
原文:NET Core 3.0 AutoFac替换内置DI的新姿势 .NET Core 3.0 和 以往版本不同,替换AutoFac服务的方式有了一定的变化,在尝试着升级项目的时候出现了一些问题. 原 ...
- 部署基于maven的springboot项目到linux服务器上
目录 本地运行调试 导入数据库: 导入项目: 将项目打包: linux准备: 运行项目: 脚本运行 本地运行调试 导入数据库: 导入数据库的时候使用的是sqlYog导入navcat的脚本:由于两个应用 ...
- 2019 鹏博士java面试笔试题 (含面试题解析)
本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.鹏博士等公司offer,岗位是Java后端开发,因为发展原因最终选择去了鹏博士,入职一年时间了,之前面试了很多 ...
- iOS之集成GoogleMap定位、搜索注意事项
简介: 最近花了些时间看了GoogleMap官方文件并集成到国际版app中,网上关于GoogleMap for iOS的讲解相对Android来说少一点,比较有帮助的几乎全是英文文档.下面是我开发过程 ...