You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Podman容器中配置GitLab-Runner使用Docker执行器适配Podman

配置GitLab-Runner容器使用Podman兼容的Docker执行器

前提说明

已通过Podman运行GitLab-Runner且Shell执行器正常工作,现切换为适配Podman的Docker执行器。


步骤1:停止现有GitLab-Runner容器

先停掉并移除当前运行的Runner容器(如需重新配置):

podman stop gitlab-runner
podman rm gitlab-runner

步骤2:确认Podman Socket可访问

Podman需开启socket供GitLab-Runner调用,分两种场景:

  • Root模式Podman:默认socket路径为/run/podman/podman.sock,确保该文件存在且权限正常。
  • Rootless模式Podman:socket路径通常为/run/user/[你的UID]/podman/podman.sock(可通过echo $XDG_RUNTIME_DIR查看具体路径),需保证Runner容器能访问该路径。

步骤3:配置Runner执行器

方式一:新注册Runner

执行以下命令(替换占位符为实际信息):

podman run --rm -it \
  -v /本地配置目录路径:/etc/gitlab-runner \
  gitlab/gitlab-runner:latest register \
  --url "https://你的GitLab实例地址/" \
  --registration-token "你的注册令牌" \
  --description "Podman-Docker执行器Runner" \
  --executor "docker" \
  --docker-image "alpine:latest" \
  --docker-host "unix:///var/run/docker.sock" \
  --docker-volumes "/var/run/docker.sock:/var/run/docker.sock"

方式二:修改已有Runner配置

编辑本地挂载的Runner配置文件/本地配置目录路径/config.toml,找到对应Runner段,调整参数如下:

[[runners]]
  name = "Podman-Docker执行器Runner"
  url = "https://你的GitLab实例地址/"
  token = "你的Runner令牌"
  executor = "docker"
  [runners.docker]
    tls_verify = false
    image = "alpine:latest"
    privileged = false
    volumes = ["/var/run/docker.sock:/var/run/docker.sock", "/cache"]
    host = "unix:///var/run/docker.sock"
  [runners.cache]
    [runners.cache.s3]
    [runners.cache.gcs]
    [runners.cache.azure]

步骤4:重新启动GitLab-Runner容器

启动时必须将Podman Socket挂载到容器内的/var/run/docker.sock(Docker执行器默认读取路径):

  • Root模式Podman启动命令:
podman run -d \
  --name gitlab-runner \
  --restart always \
  -v /本地配置目录路径:/etc/gitlab-runner \
  -v /run/podman/podman.sock:/var/run/docker.sock \
  gitlab/gitlab-runner:latest
  • Rootless模式Podman启动命令(替换[你的UID]为实际用户ID):
podman run -d \
  --name gitlab-runner \
  --restart always \
  -v /本地配置目录路径:/etc/gitlab-runner \
  -v /run/user/[你的UID]/podman/podman.sock:/var/run/docker.sock \
  gitlab/gitlab-runner:latest

验证配置

启动后检查Runner状态及执行器可用性:

podman exec gitlab-runner gitlab-runner verify

提交一个简单的CI/CD任务,测试是否能通过Podman正常拉取镜像并执行任务。


内容的提问来源于stack exchange,提问作者Macley

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 17:20:27