温馨提示×

GitLab如何支持Docker容器化部署

小樊
92
2025-03-26 17:38:07
栏目: 智能运维

GitLab支持Docker容器化部署,以下是详细的步骤:

1. 安装Docker

首先,确保在您的服务器上安装了Docker。可以从Docker官网下载并安装适合您操作系统的Docker版本。

2. 拉取GitLab镜像

使用以下命令从Docker Hub拉取最新的GitLab CE(社区版)镜像:

docker pull gitlab/gitlab-ce

如果您在中国大陆地区,可能需要使用镜像加速服务,例如使用docker-mirror.aigc2d.com提供的镜像源:

docker pull docker-mirror.aigc2d.com/gitlab/gitlab-ce:latest

3. 创建并启动GitLab容器

以下是一个基本的命令示例,用于创建并启动GitLab容器:

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

解释一下上述命令中的各个参数:

  • -d: 后台运行容器。
  • --hostname gitlab.example.com: 设置容器的主机名为gitlab.example.com
  • -p 443:443: 将容器的443端口(HTTPS)映射到主机的443端口。
  • -p 80:80: 将容器的80端口(HTTP)映射到主机的80端口。
  • -p 22:22: 将容器的22端口(SSH)映射到主机的22端口。
  • --name gitlab: 设置容器名称为gitlab
  • --restart always: 容器退出后自动重启。
  • -v /srv/gitlab/config:/etc/gitlab: 挂载主机上的/srv/gitlab/config目录到容器的/etc/gitlab目录。
  • -v /srv/gitlab/logs:/var/log/gitlab: 挂载主机上的/srv/gitlab/logs目录到容器的/var/log/gitlab目录。
  • -v /srv/gitlab/data:/var/opt/gitlab: 挂载主机上的/srv/gitlab/data目录到容器的/var/opt/gitlab目录。
  • gitlab/gitlab-ce:latest: 使用的GitLab镜像。

4. 初始化配置

进入容器并初始化配置:

docker exec -it gitlab bash

记录初始root密码:

cat /etc/gitlab/initial_root_password

修改gitlab.rb文件以配置外部URL和其他设置:

vi /etc/gitlab/gitlab.rb

例如,配置外部URL为http://your_server_ip:80

external_url 'http://your_server_ip:80'

保存并退出编辑器,然后重新配置并重启GitLab:

gitlab-ctl reconfigure
gitlab-ctl restart

5. 访问GitLab

打开浏览器,访问http://your_server_ip:80,使用初始root密码登录,然后设置新密码。

6. 常用命令

以下是一些常用的Docker命令,用于管理GitLab容器:

  • 查看容器状态:

    docker ps
    
  • 停止容器:

    docker stop gitlab
    
  • 重启容器:

    docker restart gitlab
    
  • 进入容器命令行:

    docker exec -it gitlab bash
    
  • 查看容器日志:

    docker logs -f gitlab
    

0