docker安装gitlab并配置ssl证书
本篇安装环境
Docker版本:Docker version 28.3.0
域名:test.disallow.cn
自签证书:/etc/gitlab/ssl(已经存放在该目录)
一、拉取镜像
docker run -itd \--privileged=true \--hostname gitlab.test.disallow.cn \--publish 443:443 --publish 80:80 --publish 2222:22 \--name gitlab \--restart always \--volume /etc/gitlab/config:/etc/gitlab \--volume /etc/gitlab/logs:/var/log/gitlab \--volume /etc/gitlab/data:/var/opt/gitlab \--volume /etc/gitlab/ssl:/etc/gitlab/ssl \
registry.gitlab.cn/omnibus/gitlab-jh:latest
二、获取acme自签证书
1、安装安装acme
git clone https://gitee.com/neilpang/acme.sh.git
cd acme.sh
./acme.sh --install -m my@example.com
2、获取阿里云ak/sk
3、生成证书
通过环境变量导入ak/sk
export Ali_Key="控制台获取ak"
export Ali_Secret="控制台获取sk"
生成证书(有效期3个月)
./acme.sh --issue --dns dns_ali -d 'test.disallow.cn' -d '*.test.disallow.cn'
拷贝证书到定义目录
cp /root/.acme.sh/test.disallow.cn/* /etc/gitlab/ssl/
三、修改gitlab.rb
cd /etc/gitlab/config/
vim gitlab.rb
external_url 'https://gitlab.test.disallow.cn'
nginx['redirect_http_to_https'] = true
nginx['ssl_certificate'] = "/etc/gitlab/ssl/fullchain.cer"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/test.disallow.cn.key"
三、配置完成重启
docker restart gitlab