一、准备条件

  1. 服务器 / 本机环境

    • Linux / Windows 都可以(推荐 Linux 服务器)
    • 已安装 Docker、Docker Compose(或直接 docker run
  2. 硬件建议(最低)

    • 内存:4GB 起步,推荐 8GB+
    • CPU:2 核以上
    • 磁盘:系统盘 + 至少 50GB 给 GitLab 数据
  3. 提前建立目录(示例)

mkdir -p /data/docker/gitlab/config
mkdir -p /data/docker/gitlab/logs
mkdir -p /data/docker/gitlab/data

二、用 docker-compose 部署 GitLab(推荐)

假设你在 /data/docker/gitlab 目录下操作,新建 docker-compose.yml

version: '3.8'

services:
  gitlab:
    image: gitlab/gitlab-ce:latest          # 社区版
    container_name: gitlab
    restart: always
    hostname: gitlab.local                  # 这里随便写一个主机名
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://你的IP或域名:8929'
        gitlab_rails['gitlab_shell_ssh_port'] = 2224
    ports:
      - "8929:8929"      # Web 访问端口
      - "2224:22"        # SSH 访问端口(克隆代码)
    volumes:
      - /data/docker/gitlab/config:/etc/gitlab
      - /data/docker/gitlab/logs:/var/log/gitlab
      - /data/docker/gitlab/data:/var/opt/gitlab
    shm_size: '256m'     # 避免某些场景下的共享内存不足问题

⚠️ 注意把 external_url你的IP或域名 换成你实际访问 IP,比如:
external_url 'http://192.168.1.48:8929'

1. 启动

cd /data/docker/gitlab
docker-compose up -d

首次启动会初始化,需要几分钟,CPU、磁盘会有一阵子比较忙。


三、第一次登录 GitLab

  1. 浏览器访问:
    http://<你的IP>:8929
    例如:http://192.168.1.10:8929

  2. 获取初始 root 密码(容器内生成)

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

输出类似:

Password: xxxxxxxx
# NOTE: This password will expire in 24 hours...

用这个密码登录 root 账号,然后立刻修改成你自己的密码。


四、SSH 克隆代码配置(可选但推荐)

上面 compose 已经映射 SSH 端口 2224:22,GitLab 里我们设置了:

gitlab_rails['gitlab_shell_ssh_port'] = 2224

1. 防火墙放行(Linux 示例)

# firewalld 示例
firewall-cmd --add-port=2224/tcp --permanent
firewall-cmd --reload

2. 克隆地址示例

以后仓库的 SSH 克隆地址大致是:

git clone git@你的IP:用户名/项目名.git
# 比如:
# git clone git@192.168.1.10:用户名/项目名.git

如果 GitLab 显示的端口不对,可以在 “管理后台 → 设置 → 通用 → 可见性和访问控制” 里确认/修改克隆 URL 配置。


五、常用运维命令

1. 查看日志

docker logs -f gitlab

2. 停止 / 启动 / 重启

docker-compose stop
docker-compose start
docker-compose restart

# 单容器:
# docker stop gitlab
# docker start gitlab

3. 修改配置后生效

编辑 /data/docker/gitlab/config/gitlab.rb 后:

docker exec -it gitlab gitlab-ctl reconfigure
docker exec -it gitlab gitlab-ctl restart

六、 设置语言

在这里插入图片描述

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐