首页 > 其他分享 >通过 Docker 部署 Gitlab

通过 Docker 部署 Gitlab

时间:2024-07-22 19:51:35浏览次数:6  
标签:gitlab 部署 Gitlab ssl HOME -- Docker data 80

通过 docker 安装一个 gitlab 没啥难度。按照的官方手册一溜烟跑下来,感觉比用 rpm 包装都容易很多。在此作下简单的记录

运行 gitlab 容器

# 构建docker数据挂载目录
mkdir -p /data/gitlab

运行如下脚本

#! /bin/bash

GITLAB_HOME=/data/gitlab

sudo docker run -d \
  -p 443:443 -p 80:80 -p 2222:22\
  --name gitlab \
  --restart always \
  --volume $GITLAB_HOME/config:/etc/gitlab \
  --volume $GITLAB_HOME/logs:/var/log/gitlab \
  --volume $GITLAB_HOME/data:/var/opt/gitlab \
  gitlab/gitlab-ce:17.2.0-ce.0

映射端口443(HTTPS),80(HTTP),22(gitlab的SSH服务),gitlab-ce的版本请随意只是要注意如果从dockerhub上拖取不下来那么你可能需要换成国内的镜像源或者使用代理。

配置 HTTPS

出于安全性考虑,强烈建议通过防火墙限制80端口的访问并启用https。

# 创建证书存放路径
mkdir -p /data/gitlab/config/ssl
# 生成证书
openssl req -x509 -newkey rsa:1024 -keyout gitlab.key -out gitlab.crt -nodes -days 36500

在你的 /data/gitlab/config/gitlab.rb 添加如下配置

external_url 'https://你的域名'
nginx['redirect_http_to_https'] = true
nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.crt"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.key"

nginx['proxy_set_headers'] = {
  "X-Forwarded-Proto" => "https",
  "X-Forwarded-Ssl" => "on"
}

# 这个是用于设置 ssh 端口的,如果不修改默认使用22
gitlab_rails['gitlab_shell_ssh_port'] = 2222

重启你的容器并让配置生效(可能需要几分钟)

docker restart gitlab

标签:gitlab,部署,Gitlab,ssl,HOME,--,Docker,data,80
From: https://www.cnblogs.com/oscar2960/p/18316703

相关文章

  • 本地部署WampServer集成环境结合内网穿透实现远程访问内网服务
    文章目录前言1.WampServer下载安装2.WampServer启动3.安装cpolar内网穿透3.1注册账号3.2下载cpolar客户端3.3登录cpolarwebui管理界面3.4创建公网地址4.固定公网地址访问前言Wamp是一个Windows系统下的Apache+PHP+Mysql集成安装环境,是一组常用来搭......
  • 使用Ollama部署非官方仓库模型(Windows)
    一、从GitHub拉去llama.cpp项目gitclonehttps://github.com/ggerganov/llama.cpp下载完成后在当前目录的路径输入cmd,进入命令行二、安装python执行的相关依赖执行pipinstall-rrequirements.txt三、下载模型文件依赖安装成功后开始转换模型这里以魔塔上的C......
  • 在Windows安装、部署Tomcat的方法
      本文介绍在Windows操作系统中,下载、配置Tomcat的方法。  Tomcat是一个开源的Servlet容器,由Apache软件基金会的Jakarta项目开发和维护;其提供了执行Servlet和JavaServerPages(JSP)所需的所有功能。其中,Servlet容器的主要职责是执行JavaServlet和JSP——在这里,Servlet......
  • GZCTF比赛平台搭建——单Docker部署
    GZCTF是一个开源的网络安全竞赛平台,采用微服务架构,提供React.js前端和Django后端,支持用户通过解决实际安全问题提升技能。平台具有权限控制、加密通信和自定义赛事等功能,适用于初学者、教育机构和企业培训等场景。首先放出GZCTF官方文档,有一定基础的可以前往查看。GZCTF官方......
  • 餐饮点餐系统搭建教程,教你如何快速部署上线
    一、搭建餐饮点餐系统的必要性在当今快节奏且高度数字化的时代,开设一家餐饮店并不仅仅意味着提供美味的食物和优质的服务,还涉及到如何高效管理运营、提升顾客体验以及实现智能化转型。因此,许多餐饮业主选择自己搭建餐饮点餐系统,这一决策背后有多重深层次的原因:1. 定制化需求......
  • arm64环境部署rocketmq
    arm64环境部署rocketmq(x86架构同理)1.编译rocketmq镜像拉取代码gitclonehttps://github.com/apache/rocketmq-docker.git安装docker-compose略编译镜像进入image-build目录cdrocketmq-docker/image-build修改arm环境支持的基础镜像vimDockerfile-alpine将......
  • Docker数据管理
    目录数据卷(DataVolumes)容器和宿主机的数据共享1.拉取centos镜像2.创建容器3.输入内容验证经过宿主机,实现容器间的数据共享1.创建a2容器,并且挂载同一个宿主机目录2.输入内容验证挂载文件1.创建a2容器,并且挂载文件2.只读操作数据卷容器1.创建a1容器作为数据卷容器......
  • 如何减少 Docker 日志大小,有效节省磁盘空间
    Docker是一个强大的容器化平台,它允许开发者在一个独立的环境中运行应用程序。虽然Docker提供了很多便利,但在实际使用过程中,日志文件可能会迅速增长,占用大量的磁盘空间。本文将详细介绍如何减少Docker日志大小,从而有效节省磁盘空间。Docker日志机制Docker使用日志......
  • docker 基础镜像损坏
    dockerrun以后查看日志,提示报错,服务不能正常启动.#dockerlogs-f6413standard_init_linux.go:211:execuserprocesscaused"nosuchfileordirectory"standard_init_linux.go:211:execuserprocesscaused"nosuchfileordirectory"st......
  • 如何攻克LLM应用的调试?教你本地化部署与使用一款免费的LLM应用工程化平台
    随着LLM应用的不断成熟,特别是在B端企业场景中的逐渐落地,其不再停留在原型与验证阶段,将面临着更高的工程化要求,无论是输出的稳定性、性能、以及成本控制等,都需要实现真正的“生产就绪”;但由于大量的应用基于LangChain、LlamaIndex等框架开发,更多的抽象与封装使得应用难以跟踪......