温馨提示×

Linux GitLab与Docker的集成方法

小樊
90
2025-06-07 05:54:49
栏目: 智能运维

在Linux上使用Docker集成GitLab可以简化部署和管理过程。以下是详细的步骤指南:

安装Docker和Docker Compose

  1. 安装Docker
  • 确保你的Linux系统上已经安装了Docker。如果没有安装,可以参考Docker官方文档进行安装。
  1. 安装Docker Compose(可选但推荐):
  • 使用以下命令下载并授权docker-compose
    curl -L https://github.com/docker/compose/releases/download/v2.29.7/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose
    
  • 可以从Docker官网获取更详细的安装指南。

使用Docker Compose部署GitLab

  1. 创建docker-compose.yml文件
  • 创建一个名为docker-compose.yml的文件,内容如下:
    version: '3.7'
    services:
      web:
        image: gitlab/gitlab-ce:latest
        restart: always
        hostname: localhost
        container_name: gitlab-ce
        environment:
          GITLAB_OMNIBUS_CONFIG: |
            external_url 'http://192.168.0.107:8080'
          ports:
            - "8080:80"
            - "8443:443"
          volumes:
            - "/home/docker/gitlabce/config:/etc/gitlab"
            - "/home/docker/gitlabce/logs:/var/log/gitlab"
            - "/home/docker/gitlabce/data:/var/opt/gitlab"
          networks:
            - gitlab
    
      gitlab-runner:
        image: gitlab/gitlab-runner:alpinecontainer_name:gitlab-runner
        restart: always
        depends_on:
          - web
        volumes:
          - "/var/run/docker.sock:/var/run/docker.sock"
          - "/home/docker/gitlabce/gitlab-runner:/etc/gitlab-runner"
        networks:
          - gitlab
    networks:
      gitlab:
        name: gitlab-network
    
  • 请根据实际部署环境修改external_url,例如http://192.168.0.107:8080
  1. 启动GitLab容器
  • 使用以下命令启动容器:
    docker-compose up –d
    
  • 首次启动门户网站可能需要几分钟时间。
  1. 访问GitLab
  • 打开浏览器,访问http://192.168.0.107:8080,按照提示设置管理员账号和密码。
  • 首次登录GitLab需要一个临时密码,该密码在安装过程中自动生成。可以使用以下命令获取密码:
    docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password
    
  1. 配置GitLab
  • 修改外部URL:
    docker exec -it gitlab /bin.bash
    vi /etc/gitlab/gitlab.rb
    
  • 修改external_url配置项为你的服务器地址。
  • 启用HTTPS:
    letsencrypt[ 'enabled' ] = true
    letsencrypt[ 'contact_emails' ] = [ 'your.email@example.com' ]
    
  • 然后重新配置并重启GitLab:
    gitlab-ctl reconfigure
    gitlab-ctl restart
    

注意事项

  • 数据持久化:确保挂载的数据卷在宿主机上已经创建。
  • 端口映射:确保宿主机的端口与容器端口正确映射。
  • 安全性:修改默认的管理员密码,关闭用户注册功能(如果需要)。

通过以上步骤,你就可以在Linux上成功部署GitLab,并享受容器化带来的便利和高效。如果有任何问题,可以参考GitLab的官方文档或相关社区资源。

0