通过 Docker 部署 Gitlab
通过 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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了