Gitlab docker版本安装 docker 新建Gitlab容器并配置运行下载离线镜像在有网的电脑上拉取镜像#在有网的电脑上拉取镜像dockerpull gitlab/gitlab-ce:19.2.0-ce.0#打包成压缩包dockersave-ogitlab-ce-19.2.0.tar gitlab/gitlab-ce:19.2.0-ce.0#压缩包传到另一台离线电脑将其导入dockerload-igitlab-ce-19.2.0.tar创建镜像前准备端口Gitlab需要开放80、443、22端口80http默认管理页面需要映射到主机的7777端口443https默认管理页面端口需要映射到主机的7778端口22使用ssh方式进行clone、push如gitgitlab.example.com:group/repo.git走的端口需要映射到7779端口目录挂载/etc/gitlab 配置文件(包含SSL证书/var/log/gitlab 日志文件/var/opt/gitlab 数据持久化目录统一挂载到/container_data/gitlab的config log data目录下防火墙配置、创建挂载目录、初始化容器并挂载#!/bin/bash#宿主机放行防火墙端口firewall-cmd--permanent--add-port7777/tcp firewall-cmd--permanent--add-port7778/tcp firewall-cmd--permanent--add-port7779/tcp firewall-cmd--reload#验证firewall-cmd --list-ports#创建挂载目录mkdir-p/container_data/gitlab/{config,logs,data}#创建虚拟机dockerrun-d\--namegitlab\--restartalways\-p7777:80\-p7778:443\-p7779:22\-v/container_data/gitlab/config:/etc/gitlab\-v/container_data/gitlab/logs:/var/log/gitlab\-v/container_data/gitlab/data:/var/opt/gitlab\--shm-size 256m\gitlab/gitlab-ce:19.2.0-ce.0等待几分钟Gitlab初始化获取初始root密码可以进容器拿也可以在挂载目录拿#进容器dockerexec-itgitlabgrepPassword:/etc/gitlab/initial_root_password#从挂载目录grepPassword:/container_data/gitlab/config/initial_root_password启动后可以通过7777端口访问到管理界面但推送仓库的地址依然没变a18477969498为容器名为容器名需要更改需要进入配置文件配置Gitlab配置Gitlabcat/container_data/gitlab/config/gitlab.rbEOF #设置默认http管理端口仓库配置页面显示的那个 external_url http://10.12.3.161:7777 #注意这里nginx默认监听的端口是80不是7777 nginx[listen_port] 80 #设置默认https管理端口和证书 #设置7779 #不写gitlab_ssh_host也可以它会自动从external_url获取到161地址 #gitlab_rails[gitlab_ssh_host] 10.12.3.161 gitlab_rails[gitlab_shell_ssh_port] 7779 gitlab_rails[time_zone] Asia/Shanghai EOF#如果是在物理机部署需要recongigure但是docker部署时直接重启容器就行#docker exec -it gitlab gitlab-ctl reconfigure#修改配置后直接重启容器它会自动重新配置dockerrestart gitlab此时Gitlab部署已经完成测试测试push代码是否成功#在gitlab新建一个项目ssh推送链接 ssh://git10.12.3.161:7779/my_group1/my_project2.git#测试ssh push代码gitinittouch1.txtgitadd.gitcommit-mfirst commitgitremoteaddorigin ssh://git10.12.3.161:7779/my_group1/my_project2.gitgitpush origin master#测试http push212gitremote set-url origin http://10.12.3.161:7777/my_group1/my_project2.gitgitpush origin master#需要输入gitlab的账号密码测试克隆代码是否成功#ssh方式 git clone ssh://git10.12.3.161:7779/my_group1/my_project2.git #http方式 git clone http://10.12.3.161:7777/my_group1/my_project2.gitgit remote -v origin ssh://git10.12.3.161:7779/my_group1/my_project2.git (fetch) origin ssh://git10.12.3.161:7779/my_group1/my_project2.git (push)可选SSL证书配置1.生成自签名SSL证书仅测试用#证书放在容器的/etc/gitlab/ssl目录下需要创建ssl文件夹#映射过来是/container_data/gitlab/config/ssl#1.创建目录存储私钥和公钥分开private下存放私钥其他存放在公开mkdir-p/container_data/gitlab/config/ssl/{private,certs}#生成私钥输出是nginx-selfsigned.key私钥文件openssl genpkey-algorithmRSA-out/container_data/gitlab/config/ssl/private/nginx-selfsigned.key-pkeyoptrsa_keygen_bits:2048#生成CSR签名请求输出是nginx-selfsigned.csr公钥openssl req-new-key/container_data/gitlab/config/ssl/private/nginx-selfsigned.key-out/container_data/gitlab/config/ssl/certs/nginx-selfsigned.csr#Common Name (eg, your name or your servers hostname) []:gitlab.example.com其他不填#自签名生成证书过期365天输出是nginx-selfsigned.crt证书openssl x509-req-days365-in/container_data/gitlab/config/ssl/certs/nginx-selfsigned.csr-signkey/container_data/gitlab/config/ssl/private/nginx-selfsigned.key-out/container_data/gitlab/config/ssl/certs/nginx-selfsigned.crtkey 放在private文件夹下csr和crt放在certs文件夹下2.更改Gitlab配置vim/container_data/gitlab/config/gitlab.rb#改为从http改为https域名external_urlhttps://gitlab.example.com:7778nginx[enable]truenginx[client_max_body_size]2048m#80重定向到443nginx[redirect_http_to_https]true#指定crt和key的位置注意是docker容器内的绝对路径nginx[ssl_certificate]/etc/gitlab/ssl/certs/nginx-selfsigned.crtnginx[ssl_certificate_key]/etc/gitlab/ssl/private/nginx-selfsigned.key改后配置#设置默认http管理端口#external_url http://10.12.3.161:7777#7778映射到443external_urlhttps://gitlab.example.com:7778#注意这里nginx默认监听的端口是80不是7777nginx[listen_port]80nginx[https_port]443#设置默认https管理端口和证书nginx[enable]truenginx[client_max_body_size]2048m#80重定向到443nginx[redirect_http_to_https]true#指定crt和key的位置注意是docker容器内的绝对路径nginx[ssl_certificate]/etc/gitlab/ssl/certs/nginx-selfsigned.crtnginx[ssl_certificate_key]/etc/gitlab/ssl/private/nginx-selfsigned.key#设置7779#gitlab_rails[gitlab_ssh_host] 10.12.3.161gitlab_rails[gitlab_shell_ssh_port]7779gitlab_rails[time_zone]Asia/Shanghai配置host文件windows C:\Windows\System32\drivers\etc 下host文件10.12.3.161 gitlab.example.com

相关新闻

最新新闻

SerenityOS 命令行选项解析指南:getopt 与 getopt_long 用法、返回值与底层实现

SerenityOS 命令行选项解析指南:getopt 与 getopt_long 用法、返回值与底层实现

SerenityOS 命令行选项解析指南:getopt 与 getopt_long 用法、返回值与底层实现 【免费下载链接】serenity The Serenity Operating System 🐞 项目地址: https://gitcode.com/GitHub_Trending/se/serenity 导读 本文以 getopt(3) 手册 为核心&a…

2026/10/1 19:32:24
轻量服务器还是ECS?大促云服务器选购与避坑实战指南

轻量服务器还是ECS?大促云服务器选购与避坑实战指南

每年大促节点,群里永远有人在问同一个问题:“38元的轻量服务器到底怎么抢?为什么我每次点进去都是已售罄?68元直购和99元的ECS我到底选哪个?”作为一个常年帮团队和自己采购云服务器的老用户,我太清楚这种纠…

2026/9/30 21:32:07
为 AI 代理的 Review 动作编写 Cedar 审批门控策略:review-agent-governance 策略编写实战指南

为 AI 代理的 Review 动作编写 Cedar 审批门控策略:review-agent-governance 策略编写实战指南

为 AI 代理的 Review 动作编写 Cedar 审批门控策略:review-agent-governance 策略编写实战指南 【免费下载链接】agents Multi-harness agentic plugin marketplace for Claude Code, Codex, Cursor, OpenCode, GitHub Copilot, and Google Antigravity 项目地址:…

2026/9/30 19:41:56
PaddleOCR 手写数学公式识别算法 CAN 实战指南:Counting-Aware Network 训练、评估与推理部署

PaddleOCR 手写数学公式识别算法 CAN 实战指南:Counting-Aware Network 训练、评估与推理部署

PaddleOCR 手写数学公式识别算法 CAN 实战指南:Counting-Aware Network 训练、评估与推理部署 【免费下载链接】PaddleOCR Turn any PDF or image document into structured data for your AI. A powerful, lightweight OCR toolkit that bridges the gap between i…

2026/10/1 19:32:23
Spring源码解析:构造器注入的类型转换与候选匹配机制

Spring源码解析:构造器注入的类型转换与候选匹配机制

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 19:32:35
openai-agents-python 多模型接入指南:深入解析 AnyLLMModel 适配层与 any-llm 路由

openai-agents-python 多模型接入指南:深入解析 AnyLLMModel 适配层与 any-llm 路由

openai-agents-python 多模型接入指南:深入解析 AnyLLMModel 适配层与 any-llm 路由 【免费下载链接】openai-agents-python A lightweight, powerful framework for multi-agent workflows 项目地址: https://gitcode.com/GitHub_Trending/op/openai-agents-pyth…

2026/9/30 21:32:11

日新闻

周新闻

月新闻