使用 Docker Compose 部署 GitLab CE

GitLab 是一个基于 Git 的版本控制系统,提供了代码托管、持续集成和项目管理等功能。使用 Docker Compose 部署 GitLab CE(社区版)可以简化安装和管理过程。本文将指导你如何使用 Docker Compose 部署 GitLab CE。

前提条件

在开始之前,请确保你已经具备以下条件:

  1. 安装 Docker:确保你的系统上已安装 Docker。可以通过以下命令检查 Docker 是否已安装:

    docker --version
    
  2. 安装 Docker Compose:确保你的系统上已安装 Docker Compose。可以通过以下命令检查 Docker Compose 是否已安装:

    docker-compose --version
    
  3. Linux 系统:本文以 Linux 系统为例,其他操作系统的步骤可能会有所不同。

步骤 1:创建项目目录

首先,创建一个目录来存放 GitLab 的配置文件和数据:

mkdir -p ~/gitlab 
cd ~/gitlab

步骤 2:创建 docker-compose.yml 文件

在项目目录中创建一个名为 docker-compose.yml 的文件,并添加以下内容:

#version: '3.8'
services:
  gitlab:
    image: gitlab/gitlab-ce:latest
    container_name: gitlab-ce
    restart: always
    hostname: 'gitlab.easonbobs.top'  # 替换为你的域名或IP地址
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        #external_url 'https://gitlab.easonbobs.top'  # 替换为你的域名或IP地址
        gitlab_rails['time_zone'] = 'Asia/Shanghai'
    ports:
      - '80:80'      # HTTP
      - '443:443'    # HTTPS
      - '22:22'    # SSH
    volumes:
      - /mnt/docker/gitlab-ce/gitlab-config:/etc/gitlab
      - /mnt/docker/gitlab-ce/gitlab-logs:/var/log/gitlab
      - /mnt/docker/gitlab-ce/gitlab-data:/var/opt/gitlab
    networks:
      macvlan-net:
        #external: true
        ipv4_address: 192.168.1.88
networks:
  macvlan-net:
    external: true
    #ipv4_address: 192.168.1.68

在上面的配置中,确保将 gitlab.example.com 替换为你的实际域名或 IP 地址。

步骤 3:启动 GitLab

docker-compose.yml 文件所在的目录中,运行以下命令以启动 GitLab:

docker-compose down

该命令会在后台启动 GitLab 服务。你可以使用以下命令查看服务状态:

docker-compose ps

步骤 4:访问 GitLab

在浏览器中访问 http://gitlab.example.com(替换为你的域名或 IP 地址)。首次访问时,GitLab 会提示你设置管理员密码。设置完成后,你可以使用 root 用户名和刚刚设置的密码登录。

步骤 5:配置 GitLab

登录后,你可以根据需要配置 GitLab,包括创建项目、用户和组等。

步骤 6:管理和维护

  • 查看日志:可以使用以下命令查看 GitLab 的日志:

    docker-compose logs -f
    
  • 停止服务:如果需要停止 GitLab,可以使用以下命令:

    docker-compose down
    
  • 更新 GitLab:要更新 GitLab,只需更新 docker-compose.yml 中的 image 版本,然后运行:

    mkdir -p ~/gitlab 
    cd ~/gitlab
    

结论

通过以上步骤,你已经成功使用 Docker Compose 部署了 GitLab CE。现在你可以开始使用 GitLab 进行版本控制和项目管理。如果你有任何问题或需要进一步的帮助,请随时询问!