docker学习之compose安装gitlab

我爱海鲸 2025-12-23 16:58:41 暂无标签

简介docker安装gilab 作为cicd的基础

1、首先安装虚拟机,具体安装请参考其他文章,安装虚拟机建议4G的内存。

2、 在/opt 目录下 mkdir docker_gitlab 创建文件夹

3、在docker_gitlab 目录下执行vi docker-compose.yml

相关脚本如下:

version: '3.1'

services:

 gitlab:

  image: 'twang2218/gitlab-ce-zh:11.1.4'

  container_name: "gitlab"

  restart: always

  privileged: true

  hostname: 'gitlab'

  environment:

   TZ: 'Asia/Shanghai'

   GITLAB_OMNIBUS_CONFIG: |

    external_url 'http://192.168.199.110'

    gitlab_rails['time_zone'] = 'Asia/Shanghai'

    gitlab_rails['smtp_enable'] = true

    gitlab_rails['gitlab_shell_ssh_port'] = 22

  ports:

   - '80:80'

   - '443:443'

   - '22:22'

  volumes:

   - /opt/docker_gitlab/config:/etc/gitlab

   - /opt/docker_gitlab/data:/var/opt/gitlab

   - /opt/docker_gitlab/logs:/var/log/gitlab

4、修改虚拟机ssh链接端口vi /etc/ssh/sshd_config,如图:

undefined

 

执行命令 systemctl restart sshd  重新启动ssh链接.之后遇到了一系列的坑fianlshell链接不上了。之后再网上找到了相关文章才解决的。

CentOS7修改SSH端口

言归正传,我们再docker-compose目录里使用:docker-compose up -d  然后就会下载gitlab的镜像

访问你虚拟机的ip地址,默认为80端口,修改密码,然后进行登录,默认管理员账号为root,密码就是你刚刚修改的密码,登录后如图:

undefined

2025-12-23 start:

使用docker-compose v2版本安装gitlab:

mkdir -p /opt/docker/gitlab
cd /opt/docker/gitlab
vi docker-compose.yml

services:
  gitlab:
    image: registry.gitlab.cn/omnibus/gitlab-jh:latest
    container_name: gitlab
    restart: unless-stopped  # 改为 unless-stopped
    hostname: '【ip】'
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://【ip】:9001'
        gitlab_rails['gitlab_shell_ssh_port'] = 9022
        nginx['listen_port'] = 80
        nginx['listen_https'] = false
        
        # 性能优化配置
        gitlab_rails['time_zone'] = 'Asia/Shanghai'
        gitlab_rails['gitlab_default_projects_limit'] = 100
        gitlab_rails['gitlab_default_can_create_group'] = true
        
        # 可选:减少内存使用(根据你的服务器配置)
        # puma['worker_processes'] = 2
        # sidekiq['max_concurrency'] = 10
        # postgresql['shared_buffers'] = "256MB"
        # redis['maxmemory'] = "512mb"
        # redis['maxmemory_policy'] = "allkeys-lru"
    ports:
      - "9001:80"
      - "9443:443"
      - "9022:22"
    volumes:
      - ./config:/etc/gitlab
      - ./logs:/var/log/gitlab
      - ./data:/var/opt/gitlab
    # 资源限制(防止 GitLab 占用过多内存)
    deploy:
      resources:
        limits:
          memory: 4G
          cpus: '2.0'
        reservations:
          memory: 2G
          cpus: '1.0'
    # 健康检查
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost/-/health"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 5m  # GitLab 启动较慢,给5分钟启动时间

cd /opt/docker/gitlab

# 启动服务
docker compose up -d

# 查看状态
docker compose ps

# 查看日志
docker compose logs -f

# 查看启动日志
docker compose logs -f gitlab

# 或直接查看容器日志
docker logs -f gitlab

# 检查启动状态
docker compose exec gitlab gitlab-ctl status

# 查看docker compose的版本

docker-compose --version

# 停止并删除旧容器
docker compose down

# 重新创建并启动
docker compose up -d

# 查看状态
docker compose ps

# 查看日志
docker compose logs -f

 

# 等待几分钟后访问
curl -I http://localhost:9001

# 查看初始密码
docker compose exec gitlab cat /etc/gitlab/initial_root_password

使用 Docker Compose V2 命令

常用命令对比

 
旧命令 新命令 说明
docker-compose up -d docker compose up -d 启动服务
docker-compose down docker compose down 停止服务
docker-compose ps docker compose ps 查看状态
docker-compose logs docker compose logs 查看日志
docker-compose exec docker compose exec 执行命令

 

end

 

你好:我的2025