Docker GitLab的安装完整配置项说明教程

 更新时间:2025年11月23日 09:45:02   作者:Microi风闲  
这篇文章主要为大家详细介绍了Docker GitLab的安装完整配置项说明教程,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下

1. 基础运行配置

docker run -d \
  --name gitlab \
  --restart always \
  --hostname gitlab.example.com \  # GitLab 访问域名,必须设置
  -p 8443:443 \      # HTTPS 端口映射
  -p 8080:80 \       # HTTP 端口映射  
  -p 8022:22 \       # SSH 端口映射
  --shm-size 256m \  # 共享内存大小,防止内存不足
  gitlab/gitlab-ce:latest

2. 数据持久化配置

docker run -d \
  # ... 其他参数 ...
  -v /srv/gitlab/config:/etc/gitlab \      # 配置文件持久化
  -v /srv/gitlab/logs:/var/log/gitlab \    # 日志文件持久化
  -v /srv/gitlab/data:/var/opt/gitlab \    # 应用数据持久化
  gitlab/gitlab-ce:latest

3. 完整配置示例

docker run -d \
  --name gitlab \
  --restart always \
  --hostname gitlab.example.com \
  
  # 端口映射
  -p 8080:80 \        # Web 访问端口
  -p 8443:443 \       # HTTPS 端口  
  -p 8022:22 \        # Git SSH 端口
  
  # 数据卷映射
  -v /docker/gitlab/config:/etc/gitlab \
  -v /docker/gitlab/logs:/var/log/gitlab \
  -v /docker/gitlab/data:/var/opt/gitlab \
  
  # 内存和资源限制
  --shm-size 256m \
  --memory 4096m \     # 限制内存使用
  --cpus 2 \          # 限制 CPU 核心数
  
  # 环境变量配置
  -e GITLAB_OMNIBUS_CONFIG="external_url 'https://gitlab.example.com'; gitlab_rails['gitlab_shell_ssh_port'] = 8022;" \
  
  gitlab/gitlab-ce:latest

4. 环境变量配置项

基础配置

# 外部访问 URL(必须)
-e EXTERNAL_URL="https://gitlab.example.com"

# 时区设置
-e GITLAB_TIME_ZONE="Asia/Shanghai"
邮件配置
bash
-e GITLAB_OMNIBUS_CONFIG="
gitlab_rails['smtp_enable'] = true;
gitlab_rails['smtp_address'] = 'smtp.gmail.com';
gitlab_rails['smtp_port'] = 587;
gitlab_rails['smtp_user_name'] = 'your-email@gmail.com';
gitlab_rails['smtp_password'] = 'your-password';
gitlab_rails['smtp_domain'] = 'gmail.com';
gitlab_rails['smtp_authentication'] = 'login';
gitlab_rails['smtp_enable_starttls_auto'] = true;
gitlab_rails['smtp_tls'] = false;
gitlab_rails['gitlab_email_from'] = 'gitlab@example.com';
"
数据库配置
bash
# 使用外部 PostgreSQL
-e GITLAB_OMNIBUS_CONFIG="
gitlab_rails['db_adapter'] = 'postgresql';
gitlab_rails['db_encoding'] = 'unicode';
gitlab_rails['db_host'] = 'postgresql';
gitlab_rails['db_port'] = '5432';
gitlab_rails['db_username'] = 'gitlab';
gitlab_rails['db_password'] = 'password';
"
Redis 配置
bash
# 使用外部 Redis
-e GITLAB_OMNIBUS_CONFIG="
gitlab_rails['redis_host'] = 'redis';
gitlab_rails['redis_port'] = '6379';
"

5. 高级配置选项

SSL 证书配置

# 挂载 SSL 证书
-v /path/to/ssl:/etc/gitlab/ssl

-e GITLAB_OMNIBUS_CONFIG="
external_url 'https://gitlab.example.com';
nginx['redirect_http_to_https'] = true;
nginx['ssl_certificate'] = '/etc/gitlab/ssl/gitlab.example.com.crt';
nginx['ssl_certificate_key'] = '/etc/gitlab/ssl/gitlab.example.com.key';
"
备份配置
bash
# 备份目录挂载
-v /backup/gitlab:/var/opt/gitlab/backups

# 备份设置
-e GITLAB_OMNIBUS_CONFIG="
gitlab_rails['backup_path'] = '/var/opt/gitlab/backups';
gitlab_rails['backup_keep_time'] = 604800; # 保留7天
"
性能调优
bash
-e GITLAB_OMNIBUS_CONFIG="
# 工作进程数
unicorn['worker_processes'] = 2;

# Sidekiq 并发数
sidekiq['concurrency'] = 10;

# 数据库连接池大小
gitlab_rails['db_pool'] = 10;

# Redis 连接池
gitlab_rails['redis_cache_database'] = 0;
"

6. Docker Compose 完整示例

version: '3.8'
services:
  gitlab:
    image: gitlab/gitlab-ce:latest
    container_name: gitlab
    restart: always
    hostname: 'gitlab.example.com'
    
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'https://gitlab.example.com'
        gitlab_rails['gitlab_shell_ssh_port'] = 8022
        gitlab_rails['smtp_enable'] = true
        gitlab_rails['smtp_address'] = "smtp.gmail.com"
        gitlab_rails['smtp_port'] = 587
        gitlab_rails['smtp_user_name'] = "your-email@gmail.com"
        gitlab_rails['smtp_password'] = "your-password"
        gitlab_rails['smtp_domain'] = "gmail.com"
        gitlab_rails['smtp_authentication'] = "login"
        gitlab_rails['smtp_enable_starttls_auto'] = true
        gitlab_rails['smtp_tls'] = false
        gitlab_rails['gitlab_email_from'] = 'gitlab@example.com'
        
    ports:
      - "8080:80"
      - "8443:443" 
      - "8022:22"
      
    volumes:
      - ./gitlab/config:/etc/gitlab
      - ./gitlab/logs:/var/log/gitlab
      - ./gitlab/data:/var/opt/gitlab
      - ./backup:/var/opt/gitlab/backups
      
    shm_size: '256m'
    mem_limit: 4g
    cpus: 2.0

7. 重要注意事项

  • 首次启动需要耐心等待(5-10分钟)
  • 确保挂载目录有正确权限
  • hostname 必须与访问域名一致
  • 备份数据卷非常重要
  • 生产环境建议配置资源限制

这个配置清单涵盖了 GitLab Docker 安装的主要配置项,你可以根据实际需求进行调整。

到此这篇关于Docker GitLab的安装完整配置项说明教程的文章就介绍到这了,更多相关Docker安装配置GitLab内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • docker和docker-compose一键安装教程(支持在线和离线)

    docker和docker-compose一键安装教程(支持在线和离线)

    这篇文章主要介绍了docker和docker-compose一键安装(支持在线和离线),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • docker kubernetes dashboard安装部署详细介绍

    docker kubernetes dashboard安装部署详细介绍

    这篇文章主要介绍了docker kubernetes dashboard安装部署详细介绍的相关资料,需要的朋友可以参考下
    2016-10-10
  • Docker 教程之数据管理详细介绍

    Docker 教程之数据管理详细介绍

    这篇文章主要介绍了Docker 教程之数据管理详细介绍的相关资料,需要的朋友可以参考下
    2017-01-01
  • 使用docker搭建嵌入式Linux开发环境

    使用docker搭建嵌入式Linux开发环境

    本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-08-08
  • Centos7安装Docker(2020最新亲测可用,直接复制粘贴即可)

    Centos7安装Docker(2020最新亲测可用,直接复制粘贴即可)

    这篇文章主要介绍了Centos7安装Docker(2020最新亲测可用,直接复制粘贴即可),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • 常用的Docker基本命令及用法汇总

    常用的Docker基本命令及用法汇总

    Docker是一个用了一种新颖方式实现的超轻量虚拟机,在实现的原理和应用上还是和VM有巨大差别,专业的叫法是应用容器(Application Container)。今天给大家汇总介绍15个常用的docker命令以及用法
    2016-11-11
  • dockerfile中su命令切换用户激活环境,报错su: invalid option -- ‘n‘

    dockerfile中su命令切换用户激活环境,报错su: invalid option 

    本文主要介绍了dockerfile中su命令切换用户激活环境以及报错su: invalid option -- ‘n‘的问题解决,具有一定的参考价值,感兴趣的可以了解一下
    2025-01-01
  • Docker镜像下载及容器启动教程

    Docker镜像下载及容器启动教程

    文章总结了Docker安装与使用流程,包括系统版本检测、安装命令、容器启动/停止/删除、进入容器的方法(如nsenter工具),以及运行容器时的注意事项,如容器生命周期与命名空间操作
    2025-07-07
  • Navicat 连接服务器端中的docker数据库的方法

    Navicat 连接服务器端中的docker数据库的方法

    这篇文章主要介绍了Navicat 连接服务器端中的docker数据库,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • docker安装部署jumpserver 2.25.5的方法

    docker安装部署jumpserver 2.25.5的方法

    这篇文章主要介绍了docker安装部署jumpserver 2.25.5的方法,本文通过图文实例代码相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-09-09

最新评论