CentOS7下GitLab Runner配置Podman时无法解析Docker主机求助
GitLab Runner + Podman 在CentOS 7恢复CI流水线的解决方案
核心配置修正:解决Docker Host解析错误
报错unable to parse docker host '/run/podman/podman.sock'是因为GitLab Runner的Docker Executor要求Docker Host必须带unix://前缀,直接写套接字路径会解析失败。
- 编辑GitLab Runner配置文件(默认路径:
/etc/gitlab-runner/config.toml) - 在
[[runners]]下的[runners.docker]区块中,添加或修改docker_host字段,格式如下:
[[runners]] # 保留原有其他配置(name、url、token等) executor = "docker" [runners.docker] # 保留原有其他配置(image、volumes等) docker_host = "unix:///run/podman/podman.sock" # 关键修正:添加unix://前缀
- 同时确认
volumes配置中已映射Podman套接字到容器内的Docker套接字路径:
volumes = ["/cache", "/run/podman/podman.sock:/var/run/docker.sock"]
修复套接字权限问题
系统重启后,Podman套接字的权限可能发生变化,导致GitLab Runner用户无法访问:
- 将gitlab-runner用户加入podman用户组:
sudo usermod -aG podman gitlab-runner
- 重启Podman与GitLab Runner服务:
sudo systemctl restart podman sudo systemctl restart gitlab-runner
验证兼容性与服务状态
- 测试Docker CLI是否能正常连接Podman:
docker info
如果能正常输出Podman的系统信息,说明Docker与Podman的兼容性配置正常。
- 确认Podman服务开机自启,避免重启后服务未启动:
sudo systemctl enable podman
内容的提问来源于stack exchange,提问作者M0M0
相关产品推荐
相关产品推荐

