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

MacBook Pro下结合Podman运行Selenoid测试遇连接错误求助

解决MacBook Pro用Podman替代Docker时Selenoid连接失败的问题

根据你遇到的报错(Selenoid仍尝试连接默认的/var/run/docker.sock),核心是Selenoid或测试进程未读取到你配置的Podman socket路径,以下是具体解决步骤:

1. 确认Podman Socket的实际路径

macOS上Podman的默认socket路径是/run/user/$UID/podman/podman.sock($UID是你的用户ID,可通过id -u获取)。先在终端执行以下命令确认当前DOCKER_HOST是否正确:

echo $DOCKER_HOST

输出应该类似unix:///run/user/501/podman/podman.sock,如果不是,重新设置环境变量:

export DOCKER_HOST=unix:///run/user/$(id -u)/podman/podman.sock

2. 给Selenoid显式指定Docker主机

Selenoid默认会读取系统默认的Docker socket,需要强制让它使用Podman的socket:

  • 命令行启动Selenoid时,添加-docker-host参数:
    ./selenoid -docker-host unix:///run/user/$(id -u)/podman/podman.sock
    
  • 使用browser.json配置文件时,在对应浏览器的版本配置里添加dockerHost字段:
    {
      "chrome": {
        "default": "119.0",
        "versions": {
          "119.0": {
            "image": "selenoid/chrome:119.0",
            "dockerHost": "unix:///run/user/501/podman/podman.sock"
          }
        }
      }
    }
    

3. 确保测试进程获取到正确的环境变量

终端里设置的DOCKER_HOST不会自动传递给IDE进程,需要在IDE的运行配置里手动添加:

  • 以IntelliJ IDEA为例:打开「Run Configuration」→「Environment Variables」,添加DOCKER_HOST=unix:///run/user/$(id -u)/podman/podman.sock(替换为你的实际socket路径)。
  • 如果是通过脚本运行测试,确保脚本开头先设置DOCKER_HOST环境变量。

4. 检查Podman Socket的权限

确保当前用户对Podman socket有读写权限,执行以下命令查看:

ls -l /run/user/$(id -u)/podman/podman.sock

如果权限不足,重新启动Podman服务:

podman system service --time=0 unix:///run/user/$(id -u)/podman/podman.sock

5. 强化Docker兼容层关联Podman

虽然终端能执行docker命令,但可以通过软链接确保所有调用docker的进程默认使用Podman:

sudo ln -s $(which podman) /usr/local/bin/docker

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 05:03:22