乐趣区

关于gitlab:GitLab使用Docker和DockerCompose部署个人私有代码仓库

概述

GitLab 是一个用于仓库管理系统的开源我的项目,应用 Git 作为代码管理工具,并在此基础上搭建起来的 Web 服务。
GitLab 和 GitHub 一样是仓库管理系统,不一样的是 GitLab 能够本人搭建,本人或企业外部应用。

环境筹备

  • Linux 零碎
  • docker
  • docker-compose

硬件要求

CPU

  • 4 核 举荐 的最小核数,最多反对 500 个用户
  • 8 核最多反对 1000 个用户

RAM

  • 4GB RAM 是所需的最小内存大小,最多可反对 500 个用户
  • 8GB RAM 反对多达 1000 个用户

装置

GitLab Docker 镜像能够以多种形式运行:这里介绍后面 2 种

  • 应用 Docker 引擎
  • 应用 Docker-compose
  • 应用 Docker swarm 集群模式

1.docker 引擎装置 gitlab

  • 拉取镜像,目前 2022 年 5 月,gitlab/gitlab-ce 最新版 docker 镜像 2.36GB(有点大能够提前下载)
  • 下载并启动 GitLab 容器,并公布拜访 SSH、HTTP 和 HTTPS 所需的端口。所有 GitLab 数据都将存储为 /mydata/

    docker run --detach \
    --hostname gitlab.admin.com \
    --publish 1443:443 --publish 81:80 --publish 1022:22 \
    --name gitlab \
    --restart always \
    --volume /mydata/config:/etc/gitlab \
    --volume /mydata/logs:/var/log/gitlab \
    --volume /mydata/data:/var/opt/gitlab \
    gitlab/gitlab-ce:latest
    本地地位 容器地位 用法
    /mydata/data /var/opt/gitlab 用于存储应用程序数据
    /mydata/logs /var/log/gitlab 用于存储日志
    /mydata/config /etc/gitlab 用于存储 GitLab 配置文件
  • GitLab 初始化启动过程须要很长时间,您能够通过 logs 形式跟踪此过程:
docker logs -ft gitlab
  • 启动容器后,浏览器拜访 gitlab.admin.com:81,这里如果域名没做 hosts 映射的话,请应用 ip 地址:192.168.200.11:81
  • 这里 GitLab 默认创立 root 用户和明码,root 用户 明码查问

    docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password
  • 输出 root 用户(管理员)和明码登录:

2. 应用 Docker Compose 装置 GitLab—*(compose 案例看这里!!)

应用 Docker Compose,您能够轻松配置、装置和降级 GitLab:

  1. 装置 Docker Compose
  2. 创立 docker-compose.yml 文件
version: '3.6'
services:
  web:
    image: 'gitlab/gitlab-ce:latest'
    restart: always
    hostname: 'gitlab.admin.com'
    ports:
      - '82:80'
      - '10443:443'
      - '11022:22'
    volumes:
      - '/mydata-2/config:/etc/gitlab'
      - '/mydata-2/logs:/var/log/gitlab'
      - '/mydata-2/data:/var/opt/gitlab'
  1. 确保您 docker-compose.yml 与启动 GitLab 位于同一目录中:
  2. 后盾启动 compose

    docker-compose up -d
  3. 查看状态

    [root@master cicd]# docker-compose ps
    Name          Command          State                                     Ports
    ---------------------------------------------------------------------------------------------------------------
    cicd_web_1   /assets/wrapper   Up (healthy)   0.0.0.0:11022->22/tcp, 0.0.0.0:10443->443/tcp, 0.0.0.0:82->80/tcp
    
  4. 浏览器拜访登录
退出移动版