通过 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
posted @   神王攻大人  阅读(436)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示
主题色彩