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

Codeception中Docker版WebDriver访问本地7070端口连接被拒绝问题

问题根本原因

你启动的Selenium Chrome容器默认使用桥接网络模式,容器内部的localhost指向的是容器自身的环回地址,而非宿主机的localhost,因此无法访问宿主机上通过OpenShift端口转发暴露的7070端口服务。

可行解决方法

  • 方案1(仅Linux宿主机适用):改用宿主机网络模式启动容器
    启动容器时指定--net=host参数,容器将直接共享宿主机的网络栈,此时容器内的localhost和宿主机完全一致,也不需要额外映射4444端口:

    docker run -d --net=host --shm-size="2g" selenium/standalone-chrome:4.1.0-20211123
    
  • 方案2(全平台通用):修改目标访问地址为宿主机映射地址
    不需要改容器启动参数和WebDriver基础配置,只需要调整步骤代码里的目标地址:

    • Mac/Windows宿主机:Docker内置了指向宿主机的特殊域名host.docker.internal,把地址改为http://host.docker.internal:7070即可
    • Linux宿主机:可以在启动容器时添加参数--add-host=host.docker.internal:host-gateway,之后也可以使用上面的特殊域名,调整后的启动命令如下:
      docker run -d -p 4444:4444 --add-host=host.docker.internal:host-gateway --shm-size="2g" selenium/standalone-chrome:4.1.0-20211123
      

    你也可以直接填写宿主机的docker0网卡IP(通常为172.17.0.1)或者宿主机的局域网IP作为目标地址前缀。

注意:不需要修改WebDriver配置中的url: http://localhost:4444,这个地址是宿主机上运行的测试脚本连接Selenium容器的地址,端口映射正常的情况下无需调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 08:24:11