Blog

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

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

《GitLab 企业级本地部署,Docker-Compose快速入门》文章正文配图 — STARBUCKET BLOG

  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

《GitLab 企业级本地部署,Docker-Compose快速入门》文章正文配图(配图 2)— STARBUCKET BLOG

  1. 使用域名访问,并查看是否签发了ssl证书: 《GitLab 企业级本地部署,Docker-Compose快速入门》文章正文配图(配图 3)— STARBUCKET BLOG

《GitLab 企业级本地部署,Docker-Compose快速入门》文章正文配图(配图 4)— STARBUCKET BLOG

Comments & discussion

The first comment in each thread opens a topic. Signed-in readers can keep the conversation going under that topic.

No comments yet. Sign in to start a topic.

Start a new topic

Sign in to start a topic or join the discussion.