当前位置: 首页 > article >正文

DOCKER模式部署GITLAB

  

1.系统准备

服务器操作系统 ubuntu 24.04 mini安装

1.1 更新系统

# apt update && sudo apt upgrade -y

1.2 安装必要工具

# apt install -y curl wget nano

2. 安装Docker和Docker Compose

2.1 安装Docker

# curl -fsSL https://get.docker.com | sudo sh

执行失败,反复多次,无果。

尝试直接安装docker-ce及相关组件

# apt install -y docker-ce docker-ce-cli containerd.io

仍报错

手动下载安装包,一共6个deb文件。

下载地址https://download.docker.com/linux/ubuntu/dists/noble/pool/stable/amd64/

containerd.io_1.7.25-1_amd64.deb

docker-buildx-plugin_0.21.1-1~ubuntu.24.04~noble_amd64.deb

docker-ce-cli_28.0.1-1~ubuntu.24.04~noble_amd64.deb

docker-ce-rootless-extras_28.0.1-1~ubuntu.24.04~noble_amd64.deb

docker-ce_28.0.1-1~ubuntu.24.04~noble_amd64.deb

docker-compose-plugin_2.33.1-1~ubuntu.24.04~noble_amd64.deb

将下载的包文件上传到服务器,执行本地安装

# dpkg -i ./*.deb

# usermod -aG docker $USER

# newgrp docker  # 或重新登录终端使权限生效

3. 配置GitLab持久化存储

3.1 创建数据目录

# mkdir -p ~/gitlab/{config,logs,data}

4. 编写Docker Compose文件

4.1 创建 docker-compose.yml

# nano ~/gitlab/docker-compose.yml

4.2 输入以下内容

services:

  gitlab:

    image: gitlab/gitlab-ce:latest

    container_name: gitlab

    restart: always

    hostname: 'gitlab.yourdomain.com'  # 改为你的域名或IP

    environment:

      GITLAB_OMNIBUS_CONFIG: |

        external_url 'http://gitlab.yourdomain.com'  # 外部访问地址

        gitlab_rails['time_zone'] = 'Asia/Shanghai'  # 时区设置

        # 邮箱配置(可选)

        # gitlab_rails['smtp_enable'] = true

        # gitlab_rails['smtp_address'] = "smtp.example.com"

    ports:

      - "80:80"

      - "443:443"

      - "22:22"

    volumes:

      - ./config:/etc/gitlab

      - ./logs:/var/log/gitlab

      - ./data:/var/opt/gitlab

    shm_size: '256m'  # 共享内存大小

5. 启动GitLab容器

# cd ~/gitlab

# docker compose up -d

22端口冲突了,修改docker-compose.yml,将"22:22"改为"2222:22"

再次运行

# docker compose up -d

成功

# docker logs -f gitlab  # 监控启动日志

6. 防火墙配置(如启用UFW)

sudo ufw allow 80/tcp

sudo ufw allow 443/tcp

sudo ufw allow 2222/tcp

sudo ufw reload

7. 访问GitLab

打开浏览器访问 http://your-server-ip

首次登录用户 root,密码存储在:/etc/gitlab/config/initial_root_password,24小时后将被清理,所以要立即修改密码。

进入gitlab后提示:"Check your sign-up restrictions",点击"Deactivate",禁止其他人注册账号

8.HTTPS配置

将SSL证书放入 ~/gitlab/config/ssl

修改 external_url 为 https://gitlab.yourdomain.com

在 GITLAB_OMNIBUS_CONFIG 添加:

nginx['ssl_certificate'] = "/etc/gitlab/ssl/fullchain.pem"

nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/privkey.pem"

9. 常用命令

启动服务       docker compose up -d

停止服务       docker compose down

更新GitLab    docker compose pull && docker compose up -d

备份数据       docker exec -t gitlab gitlab-backup create

10. 故障排查

502错误:通常因资源不足,建议分配至少4GB内存。

启动缓慢:检查宿主机磁盘IO性能。

附:备份与恢复

备份

docker exec -t gitlab gitlab-backup create

恢复

docker exec -t gitlab gitlab-backup restore BACKUP=备份文件名


http://www.kler.cn/a/580876.html

相关文章:

  • 回溯-子集
  • Java集合_八股场景题
  • vue2动态增删表单+表单验证
  • WPF预览并打印FlowDocument
  • Python数据分析之数据处理与分析
  • 修改 Docker 网桥的 IP 范围
  • Oracle RAC配置原理详解:构建高可用与高性能的数据库集群
  • HTML 超链接(简单易懂较详细)
  • NO.29十六届蓝桥杯备战|string九道练习|reverse|翻转|回文(C++)
  • AI算法与应用 全栈开发 前端开发 后端开发 测试开发 运维开发
  • 【阿里云】操作系统控制台——体验与测评
  • c#面试题整理3
  • 探索高性能AI识别和边缘计算 | NVIDIA Jetson Orin Nano 8GB 开发套件的全面测评
  • FreeRTOS第18篇:FreeRTOS链表实现细节06_遍历指针(pxIndex)与调度器的高效协同
  • 2路模拟量同步输出卡、任意波形发生器卡—PCIe9100数据采集卡
  • Flutter中网络图片加载显示Image.network的具体用法
  • [免费]微信小程序(图书馆)自习室座位预约管理系统(SpringBoot后端+Vue管理端)(高级版)【论文+源码+SQL脚本】
  • Vue前端开发-Coupon组件
  • 时序数据库 InfluxDB 3.0 版本性能实测报告:写入吞吐量提升效果验证
  • 鸿蒙跨平台框架ArkUI-X