centos

centos gitlab容器化部署

小樊
31
2025-02-24 19:34:49
栏目: 智能运维

在CentOS上使用Docker容器化部署GitLab是一个相对简单且高效的方法。以下是详细的步骤:

准备工作

  1. 安装Docker: 确保你的CentOS系统上已经安装了Docker。如果尚未安装,可以参考官方文档进行安装。

    sudo yum update -y
    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/dockerce.repo
    sudo yum install -y dockerce docker-ce-cli containerd.io
    sudo systemctl start docker
    sudo systemctl enable docker
    sudo docker --version
    
  2. 拉取GitLab镜像: 使用以下命令从Docker Hub拉取最新版本的GitLab镜像。

    docker pull gitlab/gitlab-ce:latest
    

部署步骤

  1. 创建挂载目录: 创建用于存储GitLab配置文件、日志和数据目录的挂载点。

    mkdir -p /mydata/gitlab/config
    mkdir -p /mydata/gitlab/log
    mkdir -p /mydata/gitlab/data
    
  2. 运行GitLab容器: 使用以下命令启动GitLab容器,并将挂载目录映射到容器内的相应位置。

    docker run -d \
      -p 7003:22 \
      -p 7002:80 \
      -p 7001:443 \
      -v /mydata/gitlab/config:/etc/gitlab \
      -v /mydata/gitlab/log:/var/log/gitlab \
      -v /mydata/gitlab/data:/var/opt/gitlab \
      --hostname gitlab.example.com \
      --restart always \
      --name gitlab \
      gitlab/gitlab-ce:latest
    

    命令解释:

    • -p 7003:22:将容器内部的22端口映射到主机的7003端口。
    • -p 7002:80:将容器内部的80端口映射到主机的7002端口。
    • -p 7001:443:将容器内部的443端口映射到主机的7001端口。
    • -v /mydata/gitlab/config:/etc/gitlab:挂载配置文件目录。
    • -v /mydata/gitlab/log:/var/log/gitlab:挂载日志文件目录。
    • -v /mydata/gitlab/data:/var/opt/gitlab:挂载数据文件目录。 –hostname:设置容器的主机名。 –restart always:容器退出时自动重启。 –name gitlab:容器名称。
  3. 访问GitLab: 打开浏览器,访问http://gitlab.example.com,按照界面上的指引进行初始设置。首次访问可能需要较长时间进行初始化和配置。

  4. 配置HTTPS(可选): 如果你希望使用自定义域名和启用HTTPS,可以参考GitLab官方文档中的相关指南。GitLab官方文档

配置和优化

  1. 修改默认端口: 如果你需要修改GitLab的默认端口(例如将HTTP端口改为8080),可以在启动容器时指定:

    docker run -d \
      -p 8080:80 \
      -p 443:443 \
      -p 22:22 \
      -v /mydata/gitlab/config:/etc/gitlab \
      -v /mydata/gitlab/log:/var/log/gitlab \
      -v /mydata/gitlab/data:/var/opt/gitlab \
      --hostname gitlab.example.com \
      --restart always \
      --name gitlab \
      gitlab/gitlab-ce:latest
    
  2. 配置邮件服务: 如果需要配置邮件服务(如SMTP),可以在/etc/gitlab/gitlab.rb文件中添加以下配置,然后重新配置GitLab:

    gitlab_rails['smtp_enable'] = true
    gitlab_rails['smtp_address'] = "smtp.example.com"
    gitlab_rails['smtp_port'] = 587
    gitlab_rails['smtp_user_name'] = "your_email@example.com"
    gitlab_rails['smtp_password'] = "your_password"
    gitlab_rails['smtp_authentication'] = "login"
    gitlab_rails['smtp_enable_starttls_auto'] = true
    gitlab_rails['smtp_tls'] = false
    gitlab_rails['gitlab_email_from'] = "your_email@example.com"
    gitlab_rails['gitlab_email_domain'] = "example.com"
    

    然后执行以下命令重新配置GitLab:

    gitlab-ctl reconfigure
    

通过以上步骤,你就可以在CentOS上成功部署GitLab容器。根据实际需求,你还可以进行进一步的配置和优化。希望这些信息对你有所帮助。

0
看了该问题的人还看了