
jbuncle/gitlab-runnerGitlab Docker runner是GitLab CI/CD(持续集成/持续部署)系统的官方执行器,专为在Docker环境中运行自动化任务而设计。它作为GitLab CI/CD流水线的工作节点,负责执行GitLab项目中定义的.gitlab-ci.yml配置文件中的构建、测试、部署等任务,通过环境变量与GitLab服务器建立通信,实现CI/CD流程的自动化执行。
.gitlab-ci.yml中定义的自动化任务(构建、测试、部署等)。Gitlab Docker runner通过以下环境变量进行配置,用于与GitLab服务器建立连接和注册:
| 环境变量名称 | 描述 | 默认值 | 必填性 |
|---|---|---|---|
| GITLAB_LOCAL_HOST | GitLab服务器的本地IP地址,用于容器内部访问GitLab服务器 | 1.2.1.1 | 可选 |
| GITLAB_VHOST | GitLab服务器的虚拟主机名(域名),用于外部访问GitLab服务器 | - | 可选 |
| GITLAB_REGISTRATION_TOKEN | GitLab项目或实例的CI/CD注册令牌,用于将runner注册到GitLab服务器 | - | 必填 |
| GITLAB_PROTOCOL | 与GitLab服务器通信使用的协议(http或https) | http | 可选 |
通过docker run命令启动Gitlab Docker runner,需指定必要的环境变量(至少包含GITLAB_REGISTRATION_TOKEN):
bashdocker run -d \ --name gitlab-runner \ --restart always \ -v /var/run/docker.sock:/var/run/docker.sock \ -e GITLAB_REGISTRATION_TOKEN="your_registration_token_from_gitlab" \ -e GITLAB_PROTOCOL="https" \ -e GITLAB_VHOST="gitlab.example.com" \ gitlab/gitlab-runner:latest
说明:
-v /var/run/docker.sock:/var/run/docker.sock挂载宿主机Docker套接字,使runner能够在容器内创建新的Docker容器执行任务。
若GitLab服务器与runner在同一网络且需通过本地IP访问,可配置GITLAB_LOCAL_HOST:
bashdocker run -d \ --name gitlab-runner \ --restart always \ -v /var/run/docker.sock:/var/run/docker.sock \ -e GITLAB_LOCAL_HOST="192.168.1.100" \ -e GITLAB_REGISTRATION_TOKEN="your_registration_token" \ -e GITLAB_PROTOCOL="http" \ gitlab/gitlab-runner:latest
runner启动后,会自动使用提供的注册令牌注册到GitLab服务器。可通过GitLab服务器的"Settings > CI/CD > Runners"页面查看已注册的runner状态。如需停止或重启runner,可使用标准Docker命令:
bash# 停止runner docker stop gitlab-runner # 重启runner docker restart gitlab-runner # 查看日志 docker logs gitlab-runner

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务