docker compose 安装 gitlab 保姆教程

1. 拉取镜像

docker pull gitlab/gitlab-ce:latest

2. 创建配置目录 并赋权

# 存储配置、数据和日志
mkdir -p gitlab/{config,data,logs}
chmod 777 gitlab
cd gitlab
#

3. 创建docker-compose.yml
初始密码规则:

Password must not contain commonly used combinations of words and letters

GitLab 强制要求管理员密码需满足以下策略:

复杂度要求:至少 8 字符,包含大小写字母、数字和特殊符号(如 !@#$%^&*)
禁止常见组合:如 password123、admin@gitlab 等易被破解的密码

version: '3.7'
services:
  gitlab:
    image: gitlab/gitlab-ce:latest  # 社区版镜像
    container_name: gitlab
    restart: always
    hostname: 'localhost'  # 替换为你的域名或IP
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://gitlab.test.com'  # 外部访问地址
        gitlab_rails['gitlab_shell_ssh_port'] = 2222  # SSH端口(非默认22时需配置)
        gitlab_rails['initial_root_password'] = 'Kjdsfie@!2'  # 初始密码
    ports:
      - "8580:80"
      - "443:443"
      - "2222:22"  # SSH端口映射
    volumes:
      - ./config:/etc/gitlab
      - ./logs:/var/log/gitlab
      - ./data:/var/opt/gitlab
    shm_size: '256m'  # 防止内存不足崩溃

4. 启动容器
首次启动需约5-10分钟完成初始化
未初始化完成前,不要尝试登录!!!!!
初始化失败,不能登录时,应删除gitlab/{config,data,logs}目录和容器,重新启动

# 首次启动需约5-10分钟完成初始化
docker compose -f docker-compose.yml up -d

5. 访问 http://宿主机IP:8580,输入初始密码登录
在这里插入图片描述
6.开启gitlab 愉快之旅
在这里插入图片描述

### 使用 Docker Compose 部署 GitLab 的最佳实践 通过 Docker Compose 部署 GitLab 是一种高效且灵活的方式,能够快速启动和运行 GitLab 实例。以下是部署的最佳实践指南: #### 1. 创建专用目录存储数据和配置文件 为了确保数据持久化以及便于管理,建议为 GitLab 创建一个专门的目录来存储相关数据和配置文件。例如: ```bash mkdir -p /opt/gitlab/{config,data,logs} ``` #### 2. 编写 `docker-compose.yml` 文件 以下是一个完整的 `docker-compose.yml` 文件示例,基于最佳实践配置[^3]: ```yaml version: '3.8' services: gitlab: image: gitlab/gitlab-ce:latest # 使用最新版本的 GitLab CE 镜像 container_name: gitlab # 指定容器名称 restart: always # 始终重启策略 hostname: gitlab.example.com # 替换为实际主机名或 IP 地址 environment: TZ: 'Asia/Shanghai' # 设置时区 GITLAB_OMNIBUS_CONFIG: | external_url 'http://192.168.40.10:8999' # 替换为实际访问地址 gitlab_rails['time_zone'] = 'Asia/Shanghai' gitlab_rails['gitlab_shell_ssh_port'] = 3222 # 自定义 SSH 端口 unicorn['port'] = 8888 # 自定义 Web 端口 nginx['listen_port'] = 8999 # 自定义 HTTP 端口 ports: - '8999:8999' # 映射 HTTP 端口 - '8443:443' # 映射 HTTPS 端口 - '3222:22' # 映射 SSH 端口 volumes: - ./gitlab/config:/etc/gitlab # 持久化配置文件 - ./gitlab/data:/var/opt/gitlab # 持久化数据 - ./gitlab/logs:/var/log/gitlab # 持久化日志 ``` #### 3. 启动服务 在完成 `docker-compose.yml` 文件编写后,使用以下命令启动服务: ```bash docker-compose up -d ``` 这将以后台模式启动 GitLab 容器。 #### 4. 获取初始密码 首次启动时,GitLab 会生成一个随机的 root 用户密码。可以通过以下两种方式获取密码[^2]: **方式一:从日志中提取密码** ```bash docker container exec -it gitlab grep 'Password' /etc/gitlab/initial_root_password ``` **方式二:手动修改密码** 如果无法找到初始密码,可以进入容器并手动设置新密码: ```bash docker container exec -it gitlab /bin/bash gitlab-rails console > user = User.where(id: 1).first > user.password = 'new_password' > user.password_confirmation = 'new_password' > user.save! exit gitlab-ctl restart ``` #### 5. 配置 Nginx 反向代理(可选) 如果需要通过外部 Nginx 提供反向代理支持,可以参考以下配置[^5]: ```nginx upstream gitlab_ssh { server 127.0.0.1:3222; } server { listen 9000; proxy_connect_timeout 1h; proxy_pass gitlab_ssh; } ``` #### 6. 资源限制与性能优化 为了提高性能和稳定性,可以在 `docker-compose.yml` 中添加资源限制[^3]: ```yaml deploy: resources: limits: cpus: "2" # 限制 CPU 核心数 memory: "4G" # 限制内存大小 reservations: cpus: "0.5" memory: "200M" ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值