linux

GitLab在Linux如何进行容器化部署

小樊
47
2025-07-21 19:59:08
栏目: 智能运维

在Linux上进行GitLab的容器化部署是一个相对简单且高效的方法,可以省去手动安装和配置的繁琐步骤。以下是详细的步骤指南:

准备工作

  1. 安装Docker:确保你的Linux系统上已经安装了Docker。如果没有安装,可以参考Docker官方文档进行安装。
  2. 安装Docker Compose(可选但推荐):Docker Compose可以简化多容器应用的管理。你可以从Docker官网获取安装指南。

部署步骤

方法一:使用 docker run 命令

  1. 拉取GitLab镜像

    docker pull gitlab/gitlab-ce:latest
    
  2. 创建并启动GitLab容器

    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
    

    参数说明

    • --detach:后台运行容器。
    • --hostname:设置容器的主机名。
    • --publish:将容器端口映射到宿主机端口。80和443端口用于HTTP和HTTPS访问,22端口用于SSH访问。
    • --name:设置容器名称。
    • --restart always:容器退出时自动重启。
    • --volume:挂载数据卷。
  3. 访问GitLab:打开浏览器,访问 http://gitlab.example.com,按照提示设置管理员账号和密码。

方法二:使用 docker-compose

  1. 创建 docker-compose.yml 文件

    version: '3.6'
    services:
      gitlab:
        image: gitlab/gitlab-ee:17.4.5-ee.0
        container_name: gitlab
        restart: always
        ports:
          - '5480:80'
          - '5443:443'
          - '5022:22'
        volumes:
          - './config:/etc/gitlab'
          - './logs:/var/log/gitlab'
          - './data:/var/opt/gitlab'
          shm_size: '256m'
    
  2. 启动GitLab容器

    docker-compose up -d
    
  3. 访问GitLab:进入容器获取初始密码:

    docker exec -it gitlab /bin.bash cat /etc/gitlab/initial_root_password
    

    在浏览器中输入获取的密码,设置新密码后登录。

  4. 配置GitLab

    • 修改外部URL:进入容器修改配置文件:
      docker exec -it gitlab /bin/bash
      vi /etc/gitlab/gitlab.rb
      
    • 修改 external_url 配置项为你的服务器地址。
    • 启用HTTPS:编辑 gitlab.rb 文件,添加或修改以下配置:
      letsencrypt[ 'enabled' ] = true
      letsencrypt[ 'contact_emails' ] = [ 'your.email@example.com' ]
      

    然后重新配置并重启GitLab:

    gitlab-ctl reconfigure
    gitlab-ctl restart
    

注意事项

通过以上步骤,你就可以在Linux上成功部署GitLab,并享受容器化带来的便利和高效。

0
看了该问题的人还看了