温馨提示×

Debian GitLab与Docker的集成方案

小樊
48
2025-09-05 11:43:45
栏目: 智能运维

以下是在Debian系统上集成GitLab与Docker的方案,包含安装、配置及优化步骤:

一、Docker安装GitLab

  1. 安装Docker

    sudo apt update && sudo apt install docker.io
    sudo systemctl start docker && sudo systemctl enable docker
    
  2. 拉取GitLab镜像

    docker pull gitlab/gitlab-ce:latest  # 社区版
    # 或 docker pull gitlab/gitlab-ee:latest  # 企业版
    
  3. 运行GitLab容器

    sudo docker run --detach \
      --hostname gitlab.example.com \
      --publish 443:443 --publish 80:80 --publish 22:22 \
      --name gitlab \
      --restart always \
      --volume /srv/gitlab/config:/etc/gitlab \
      --volume /srv/gitlab/logs:/var/log/gitlab \
      --volume /srv/gitlab/data:/var/opt/gitlab \
      gitlab/gitlab-ce:latest
    
    • 参数说明
      • --hostname:设置主机名或域名(需与配置一致)。
      • --publish:映射端口(HTTP:80、HTTPS:443、SSH:22)。
      • --volume:挂载配置、日志、数据目录,确保数据持久化。
  4. 访问与初始化

    • 浏览器访问 http://<服务器IP>,首次登录需设置root密码。
    • 可通过 docker exec -it gitlab bash 进入容器管理。

二、集成优化配置

  1. 配置外部URL与HTTPS

    • 编辑容器内配置文件:
      docker exec -it gitlab bash
      vi /etc/gitlab/gitlab.rb
      
      修改 external_url 'http://your-domain.com',启用HTTPS需配置SSL证书。
    • 重启容器生效:
      docker restart gitlab
      
  2. 启用Docker Compose(可选)

    • 创建 docker-compose.yml
      version: '3.1'
      services:
        gitlab:
          image: gitlab/gitlab-ce
          container_name: gitlab
          restart: always
          ports:
            - "80:80"
            - "443:443"
            - "22:22"
          volumes:
            - ./config:/etc/gitlab
            - ./logs:/var/log/gitlab
            - ./data:/var/opt/gitlab
      
    • 启动服务:
      docker-compose up -d
      
  3. 性能与安全优化

    • 资源限制:通过 --cpus--memory 参数限制容器资源。
    • 备份策略:定期备份 /srv/gitlab 目录。
    • 日志管理:通过 --log-opt max-size=10m 限制日志文件大小。

三、验证与维护

  • 检查服务状态
    docker ps  # 查看容器运行状态
    docker logs gitlab  # 查看日志
    
  • 更新镜像
    docker pull gitlab/gitlab-ce:latest
    docker restart gitlab
    

参考来源

0