← 返回列表
2026-04-26T06:02:10.478ZDocker ComposeGitlab企业级

GitLab 企业级本地部署,Docker-Compose快速入门

Docker Compose 部署 Gitlab

为什么要用docker-compose部署企业级的仓库?

使用 Docker Compose 部署企业 GitLab 具有以下几个好处:

  1. 简化部署流程

    Docker Compose 允许用户通过 YAML 文件定义和管理应用程序的服务,使得部署 GitLab 的过程更加简单和直观。只需编写一个配置文件,即可一键启动所有相关服务。

  2. 环境一致性

    使用 Docker 容器,您可以确保在不同环境(开发、测试、生产)中运行的 GitLab 实例保持一致。这有助于避免因环境差异导致的问题。

  3. 易于扩展和管理

    Docker Compose 支持多容器应用的编排,可以轻松扩展 GitLab 的服务,例如增添数据库、Redis 等组件,只需在配置文件中进行相应的修改即可。

  4. 版本控制

    Docker Compose 的配置文件可以使用版本控制系统(如 Git)进行管理,方便跟踪和回滚配置的更改。

  5. 便捷的升级和维护

    通过修改 Docker Compose 文件中的镜像版本,可以轻松地升级 GitLab。执行 docker-compose up 命令后,系统会自动拉取新的镜像并重启服务,简化了维护工作。

  6. 隔离性

    Docker 容器提供了良好的隔离性,可以避免不同服务间的冲突和依赖问题。每个服务都在自己的容器中运行,互不干扰。

  7. 资源管理

    Docker 提供的资源限制功能,可以帮助您更好地管理和分配服务器资源,确保 GitLab 不会过度消耗系统资源。

  8. 数据持久化,方便备份和恢复

    通过 Docker 卷和持久化数据,可以方便地备份和恢复 GitLab 的数据,确保数据安全。

快速部署

  1. 安装docker 和 docker-compose:
apt install  docker.io -y
apt install docker-compose -y
  1. 拉取所需镜像:
docker pull postgres:17
docker pull gitlab/gitlab-ee:latest
  1. 创建gitlab yaml配置文件:
services:
  postgres:
    image: postgres:17
    restart: always
    environment:
      POSTGRES_DB: gitlabhq_production
      POSTGRES_USER: gitlab
      POSTGRES_PASSWORD: 123  # 自定义数据库密码
    volumes:
      - ./postgres-data:/var/lib/postgresql/data 
  gitlab:
    image: gitlab/gitlab-ee:latest
    restart: always
    hostname: 'gitlab.example.com'  # 如果需要使用域名访问,改成自己的域名,把dns解析到服务器上,gitlab集成了let's的自动证书签发,可使用https访问
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'https://gitlab.obsbot.com'
        gitlab_rails['db_adapter'] = 'postgresql'
        gitlab_rails['db_encoding'] = 'unicode'
        gitlab_rails['db_database'] = 'gitlabhq_production'
        gitlab_rails['db_username'] = 'gitlab'
        gitlab_rails['db_password'] = '123' # 和上面数据库密码一样
        gitlab_rails['db_host'] = 'postgres'
        gitlab_rails['db_port'] = '5432'
    ports:
      - '80:80'      # HTTP
      - '443:443'    # HTTPS
      - '2222:22'    # SSH
    volumes:
      - ./gitlab-config:/etc/gitlab
      - ./gitlab-logs:/var/log/gitlab
      - ./gitlab-data:/var/opt/gitlab
volumes:
  postgres-data:
  gitlab-config:
  gitlab-logs:
  gitlab-data:
  1. 启动服务:
docker-compose up -d
  1. 查看服务是否正常运行:
docker-compose ps

  1. 使用域名访问,并查看是否签发了ssl证书:

评论与交流

每条首评会开启一个话题;大家可在该话题下继续讨论。

还没有评论,欢迎留下想法。

发起新话题