当前位置: 首页 > news >正文

docker-compose 安装gitlab

写在前面的话:docker-compose的文件是通用的,因此可以切换任意版本的gitlab的镜像版本。
往期docker-compose部署系列如:

  • docker-compose语法格式
  • docker-compose部署openldap
  • docker-compose 安装Sonar并集成gitlab

文章目录

    • 1. 参考文档
    • 2. 环境信息
    • 3. 部署docker-compose
    • 4. 部署docker
      • 4.1 docker安装
      • 4.2 创建容器特有的网络
      • 4.3 创建挂载目录
    • 5. 编写 docker-compose.yaml文件
    • 6. 启动GitLab

1. 参考文档

docker部署:https://www.runoob.com/docker/centos-docker-install.html

docker-compose部署:https://github.com/docker/compose/releases

2. 环境信息

  • System OS:CentOS Linux release 7.9.2009 (Core)

  • GitLab:gitlab-jh:14.9.3

  • Docker:19.03.4

  • Docker-compose:1.29.2

3. 部署docker-compose

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
# 查看版本
[root@gitlabce]# docker-compose version
docker-compose version 1.29.2, build 5becea4c
docker-py version: 5.0.0
CPython version: 3.7.10
OpenSSL version: OpenSSL 1.1.0l  10 Sep 2019

4. 部署docker

4.1 docker安装

# docker源
sudo yum-config-manager \--add-repo \http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装docker
sudo yum install docker-ce-19.03.4 docker-ce-cli-19.03.4 containerd.io
# 启动docker
systemctl start docker 
systemctl enable docker
# docker 版本
[root@gitlabce]# docker -v
Docker version 19.03.4, build 9013bf583a

4.2 创建容器特有的网络

docker network create gitlab --driver bridge  --subnet 10.5.1.1/24 --gateway 10.5.1.1
[root@gitlabce]# docker inspect gitlab
[{"Name": "gitlab","Id": "3c9dd9e79fec52f04558126de9055faf8696c56a661c37b5e6acfe3ab84abf30","Created": "2023-01-31T12:22:25.263107091+08:00","Scope": "local","Driver": "bridge","EnableIPv6": false,"IPAM": {"Driver": "default","Options": {},"Config": [{"Subnet": "10.5.1.1/24","Gateway": "10.5.1.1"}]},"Internal": false,"Attachable": false,"Ingress": false,"ConfigFrom": {"Network": ""},"ConfigOnly": false,"Containers": {},"Options": {},"Labels": {}}
]

4.3 创建挂载目录

mkdir -p /data/gitlab/{conf,ssl,logs,data}

5. 编写 docker-compose.yaml文件

cat docker-compose.yaml

version: '3'
services:gitlab:image: registry.gitlab.cn/omnibus/gitlab-jh:14.9.3container_name: GitLabrestart: alwaysenvironment:GITLAB_OMNIBUS_CONFIG: |external_url 'https://gitlabce.bdeet.top'gitlab_rails['time_zone'] = 'Asia/Shanghai'gitlab_rails['lfs_enabled'] = truegitlab_rails['gitlab_shell_ssh_port'] = 2222gitlab_rails['gitlab_email_from'] = 'wkx323@163.com'gitlab_rails['gitlab_email_display_name'] = 'GitLab Administrator'gitlab_rails['gitlab_email_reply_to'] = 'wkx323@163.com'gitlab_rails['gitlab_email_subject_suffix'] = '[gitlab]'gitlab_rails['backup_keep_time'] = 14515200gitlab_rails['smtp_enable'] = truegitlab_rails['smtp_address'] = "smtp.163.com"gitlab_rails['smtp_port'] = 465gitlab_rails['smtp_user_name'] = "wkx323@163.com"gitlab_rails['smtp_password'] = "xxxxxxxxxxx"gitlab_rails['smtp_domain'] = "163.com"gitlab_rails['smtp_authentication'] = "login"gitlab_rails['smtp_enable_starttls_auto'] = truegitlab_rails['smtp_tls'] = truegitlab_rails['smtp_openssl_verify_mode'] = 'none'logging['logrotate_frequency'] = "weekly"logging['logrotate_rotate'] = 52logging['logrotate_compress'] = "compress"logging['logrotate_method'] = "copytruncate"logging['logrotate_delaycompress'] = "delaycompress"nginx['listen_port'] = 443nginx['redirect_http_to_https'] = truenginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlabce.bdeet.top.crt"nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlabce.bdeet.top.key"nginx['ssl_protocols'] = "TLSv1.1 TLSv1.2"nginx['logrotate_frequency'] = "weekly"nginx['logrotate_rotate'] = 52nginx['logrotate_compress'] = "compress"nginx['logrotate_method'] = "copytruncate"nginx['logrotate_delaycompress'] = "delaycompress"gitlab_rails['manage_backup_path'] = truegitlab_rails['backup_path'] = "/var/opt/gitlab/backups"gitlab_rails['ldap_enabled'] = truegitlab_rails['ldap_servers'] = YAML.load <<-'EOS'main: # 'main' is the GitLab 'provider ID' of this LDAP serverlabel: 'LDAP'           # 显示在登录页面上的名称host: '10.0.10.36'port: 389               # LDAP服务端口,如果LDAP基于SSL在端口通常为636uid: 'sAMAccountName'   # LDAP中用户名对应的属性,通常为'sAMAccountName'bind_dn: 'cn=ldap,dc=wkx,dc=cn'password: 'Jh@2022'encryption: 'plain'     # 'start_tls' or 'simple_tls' or 'plain'verify_certificates: false  # 如果使用SSL,则设为trueactive_directory: false     # 如果是 Active Directory LDAP server 则设为trueallow_username_or_email_login: false  # 是否允许email登录lowercase_usernames: false            # 是否将用户名转为小写block_auto_created_users: false       # 是否自动创建用户base: 'dc=wkx,dc=cn'user_filter: ''EOSports:- '80:80'- '443:443'- '2222:22'volumes:- '/data/gitlab/conf:/etc/gitlab'- '/data/gitlab/ssl:/etc/gitlab/ssl'- '/data/gitlab/logs:/var/log/gitlab'- '/data/gitlab/data:/var/opt/gitlab'- '/root/.ssh/:/root/.ssh'networks:- gitlab
networks:gitlab:driver: bridge

6. 启动GitLab

docker-compose up -d

相关文章:

docker-compose 安装gitlab

写在前面的话&#xff1a;docker-compose的文件是通用的&#xff0c;因此可以切换任意版本的gitlab的镜像版本。 往期docker-compose部署系列如&#xff1a; docker-compose语法格式docker-compose部署openldapdocker-compose 安装Sonar并集成gitlab 文章目录 1. 参考文档2. 环…...

到底是前端验证还是后端验证

背景 软件应用研发中&#xff0c; 前端验证还是后端验证这是意识与认知问题。鉴于某些入门同学还不清楚&#xff0c;我们再来看下&#xff1a; 一. 从软件行业来自国外 Q: 前端验证和后端验证都是对同一个数据的验证&#xff0c;有什么区别&#xff1f; A: 二者的目的不同&…...

AlignBench:量身打造的中文大语言模型对齐评测

对齐&#xff08;Alignment&#xff09;&#xff0c;是指大语言模型&#xff08;LLM&#xff09;与人类意图的一致性。换言之&#xff0c;就是让LLM生成的结果更加符合人类的预期&#xff0c;包括遵循人类的指令&#xff0c;理解人类的意图&#xff0c;进而能产生有帮助的回答等…...

asp.net core 教程

asp.net core 教程 写在前面新建项目Get和PostGETPOST MVC-模型控制视图如何通俗理解MVCMVC架构---文件夹详解Connected ServicesPropertieswwwroot依赖项ControllersModelsViews 代码实例 API模型&#xff08;前后端分离&#xff09;前端代码后端代码 文件配置优先级优先级顺序…...

概率论1:下象棋问题(3.5)

每日小语 时刻望着他人的眼色行事&#xff0c;是腾飞不了的。自己怎么想就积极地去做&#xff0c;这是需要胆量的。——广中平佑 题目 甲、乙二人下象棋&#xff0c; 每局甲胜的概率为a,乙胜的概率为b. 为简化问题&#xff0c;设没有和局的情况&#xff0c;这意味着a b1. 设想…...

LLM调研笔记

这里写目录标题 LLM调研1. 外挂知识库2. 微调数据prompting和fine-tuning的对比 3. NLP的发展4. 大语言模型的涌现能力5. 大模型的几个关键技术6. 数据预处理7. 主流架构8. 模型训练9. 大模型的微调10. 大模型的使用11. 大模型的评估 LLM调研 大模型的不足&#xff1a;在特定的…...

K8S----RBAC

一、角色、绑定、用户 1、 Role 与ClusterRole 1、Role 总是要在一个命名空间中设置权限,当需要创建一个Role的时候必须指定命名空间; 2、ClusterRole 是非命名空间范围的,不受命名空间局限 2 、RoleBinding 与ClusterRoleBinding 1、RoleBinding 是受命名空间限制的 2、…...

HBase 超大表迁移、备份、还原、同步演练手册:全量快照 + 实时同步(Snapshot + Replication)不停机迁移方案

博主历时三年精心创作的《大数据平台架构与原型实现&#xff1a;数据中台建设实战》一书现已由知名IT图书品牌电子工业出版社博文视点出版发行&#xff0c;点击《重磅推荐&#xff1a;建大数据平台太难了&#xff01;给我发个工程原型吧&#xff01;》了解图书详情&#xff0c;…...

统计直线上2个点的分布占比

直线上有6个格子&#xff0c;向格子里扔2个石子&#xff0c;共有5种可能。 1 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 第1种两个石子是连着的&#xff0c;共有5个 1 0 1 0 0 0 0 1 0 1 0 0 0 0 1 0 1 0 …...

uniapp创建/运行/发布项目

1、产生背景----跨平台应用框架 在移动端各大App盛行的时代&#xff0c;App之间的竞争也更加激烈&#xff0c;他们执着于让一个应用可以做多个事情 所以就应运而生了小程序&#xff0c;微信小程序、支付宝小程序、抖音小程序等等基于App本身的内嵌类程序。 但是各大App他不可…...

洛谷 P2367 语文成绩 刷题笔记

P2367 语文成绩 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 差分 令a[i]为b[i]数组的前缀和 a[n]b[1]b[2]b[3].....b[n]; a[n-1]b[1]b[2]b[3].....b[n-1]; 构造差分数组 b[i]a[i]-a[i-1]; 有什么好处 当我们想对a[l]--a[r]范围内所有数据加上一个数x 不必循环 for(i…...

Opencv_CUDA实现推理图像前处理与后处理

Opencv_CUDA实现推理图像前处理与后处理 通过trt 或者 openvino部署深度学习算法时&#xff0c;往往会通过opencv的Mat及算法将图像转换为固定的格式作为输入openvino图像的前后处理后边将在单独的文章中写出今晚空闲搜了一些opencv_cuda的使用方法&#xff0c;在此总结一下前…...

Android.bp 和 Android.mk 的对应关系

参考 Soong 构建系统 Android.mk 转为 Android.bp 没有分支、循环等流程控制的简单的 Android.mk &#xff0c;可以通过 androidmk 命令转化为 Android.bp source 、lunch 之后执行即可。 androidmk Android.mk > Android.bp对应关系 Android 13 &#xff0c;build/soon…...

力扣-收集足够苹果的最小花园周长[思维+组合数]

题目链接 题意&#xff1a; 给你一个用无限二维网格表示的花园&#xff0c;每一个 整数坐标处都有一棵苹果树。整数坐标 (i, j) 处的苹果树有 |i| |j| 个苹果。 你将会买下正中心坐标是 (0, 0) 的一块 正方形土地 &#xff0c;且每条边都与两条坐标轴之一平行。 给你一个整…...

【C语言】自定义类型:结构体深入解析(三)结构体实现位段最终篇

文章目录 &#x1f4dd;前言&#x1f320;什么是位段&#xff1f;&#x1f309; 位段的内存分配&#x1f309;VS怎么开辟位段空间呢&#xff1f;&#x1f309;位段的跨平台问题&#x1f320; 位段的应⽤&#x1f320;位段使⽤的注意事项&#x1f6a9;总结 &#x1f4dd;前言 本…...

基于Hexo+GitHub Pages 的个人博客搭建

基于HexoGitHub Pages 的个人博客搭建 步骤一&#xff1a;安装 Node.js 和 Git步骤二&#xff1a;创建Github Pages 仓库步骤二&#xff1a;安装 Hexo步骤三&#xff1a;创建 Hexo 项目步骤四&#xff1a;配置 Hexo步骤五&#xff1a;创建新文章步骤六&#xff1a;生成静态文件…...

7. 结构型模式 - 代理模式

亦称&#xff1a; Proxy 意图 代理模式是一种结构型设计模式&#xff0c; 让你能够提供对象的替代品或其占位符。 代理控制着对于原对象的访问&#xff0c; 并允许在将请求提交给对象前后进行一些处理。 问题 为什么要控制对于某个对象的访问呢&#xff1f; 举个例子&#xff…...

挑战Python100题(6)

100+ Python challenging programming exercises 6 Question 51 Define a class named American and its subclass NewYorker. Hints: Use class Subclass(ParentClass) to define a subclass. 定义一个名为American的类及其子类NewYorker。 提示:使用class Subclass(Paren…...

gin实现登录逻辑,包含cookie,session

users/login.html {{define "users/login.html"}} <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>登录页面</title> </head> <body><form method"post" a…...

云原生Kubernetes:K8S集群版本升级(v1.22.14 - v1.23.14)

目录 一、理论 1.K8S集群升级 2.环境 3.升级集群&#xff08;v1.23.14&#xff09; 4.验证集群&#xff08;v1.23.14&#xff09; 二、实验 1. 环境 2.升级集群&#xff08;v1.23.14&#xff09; 2.验证集群&#xff08;v1.23.14&#xff09; 一、理论 1.K8S集群升级 …...

避坑指南:Doris明细模型(Duplicate Key Model)的5个常见错误及优化方案

避坑指南&#xff1a;Doris明细模型(Duplicate Key Model)的5个常见错误及优化方案 在实时数据分析领域&#xff0c;Apache Doris凭借其卓越的性能和易用性赢得了众多企业的青睐。作为Doris中最基础也最常用的数据模型&#xff0c;明细模型&#xff08;Duplicate Key Model&…...

5大维度解析zteOnu:让ONU设备管理效率提升300%的开源工具

5大维度解析zteOnu&#xff1a;让ONU设备管理效率提升300%的开源工具 【免费下载链接】zteOnu A tool that can open ZTE onu device factory mode 项目地址: https://gitcode.com/gh_mirrors/zt/zteOnu 问题引入&#xff1a;网络运维工程师的日常困境 你是否也曾面临这…...

GLM-4.1V-9B-Base效果展示:低光照/模糊图像中的主体鲁棒识别实例

GLM-4.1V-9B-Base效果展示&#xff1a;低光照/模糊图像中的主体鲁棒识别实例 1. 模型能力概览 GLM-4.1V-9B-Base是智谱开源的视觉多模态理解模型&#xff0c;专为复杂视觉场景设计。这个模型最令人印象深刻的能力之一&#xff0c;就是在低光照、模糊等恶劣图像条件下依然能准…...

客服机器人系统会不会发生宕机?Agent开放平台保障有哪些,数据安全不过关能赔?

在电商和数字化服务高速发展的今天&#xff0c;企业每天面对海量客户咨询。传统人工客服难以应对高峰期压力&#xff0c;而智能客服机器人系统成为重要解决方案。许多商家关心一个核心问题&#xff1a;客服机器人系统会不会发生宕机&#xff1f;一旦系统出现故障&#xff0c;是…...

linux下的spi子系统

概念通信模式可以分为单工、半双工和全双工&#xff0c;单工通信指信号只在一个方向上传输&#xff0c;仅 能发送或接收&#xff0c;而半双工通信指信号可以在俩个方向上传输&#xff0c;但某一个时刻只允许发送或接收&#xff0c;而全双工通信指数据同时在俩个方向上传输&…...

暗黑破坏神2存档编辑器:安全高效的d2s文件修改与角色属性调整工具

暗黑破坏神2存档编辑器&#xff1a;安全高效的d2s文件修改与角色属性调整工具 【免费下载链接】d2s-editor 项目地址: https://gitcode.com/gh_mirrors/d2/d2s-editor 暗黑破坏神2存档编辑器&#xff08;d2s-editor&#xff09;是一款专为《暗黑破坏神2》玩家设计的开源…...

从HAL_Delay到精准定时:STM32 HAL库中微秒与毫秒延时方案的深度解析与实战

1. HAL库延时函数的基本原理与局限性 在STM32开发中&#xff0c;HAL_Delay()可能是我们最早接触的延时函数。这个看似简单的函数背后&#xff0c;其实隐藏着精妙的系统设计。HAL库默认使用SysTick定时器来实现毫秒级延时&#xff0c;每次调用HAL_Delay()时&#xff0c;实际上是…...

JNI内存泄漏吞噬GPU显存,Java AI服务OOM频发,一线工程师紧急封堵的4类隐蔽陷阱

第一章&#xff1a;Java AI 推理调试Java 在 AI 推理场景中常通过 ONNX Runtime、Deep Java Library&#xff08;DJL&#xff09;或 TensorFlow Java API 集成模型。调试过程需聚焦于输入张量形状匹配、数据类型一致性、设备绑定状态及推理结果可信度验证。启用详细日志输出 DJ…...

如何彻底解决Windows快捷键冲突:Hotkey Detective完整指南

如何彻底解决Windows快捷键冲突&#xff1a;Hotkey Detective完整指南 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective 你是…...

终极指南:如何在Windows上安装和使用FlipIt翻页时钟屏保

终极指南&#xff1a;如何在Windows上安装和使用FlipIt翻页时钟屏保 【免费下载链接】FlipIt Flip Clock screensaver 项目地址: https://gitcode.com/gh_mirrors/fl/FlipIt 想要为你的Windows电脑增添一抹复古优雅的时间艺术吗&#xff1f;FlipIt翻页时钟屏保正是你需要…...