Skip to content

[🐛 Bug]: standalone-docker not compatible with docker v29 (socket) #3030

@richard-kramer-work

Description

@richard-kramer-work

What happened?

Trying to use standalone-docker with docker v29 socket mounted results in this error: Unable to reach the Docker daemon at http://127.0.0.1:2375

Command used to start Selenium Grid with Docker (or Kubernetes)

docker run --rm -v /var/run/docker.sock:/var/run/docker.sock selenium/standalone-docker:4.38.0@sha256:fab923c7b70ee3a1810eb17c3bbd7b6d3596a67d67e29ef30f1d9c980ff3b8e1

Relevant log output

Client: Docker Engine - Community
 Version:           29.0.2
 API version:       1.52
 Go version:        go1.25.4
 Git commit:        8108357
 Built:             Mon Nov 17 12:33:26 2025
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          29.0.2
  API version:      1.52 (minimum version 1.44)
  Go version:       go1.25.4
  Git commit:       e9ff10b
  Built:            Mon Nov 17 12:33:26 2025
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          v2.1.5
  GitCommit:        fcd43222d6b07379a4be9786bda52438f0dd16a1
 runc:
  Version:          1.3.3
  GitCommit:        v1.3.3-0-gd842d771
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
Virtual environment detected at /home/seluser/venv, activating...
Python 3.14.0
2025-11-24 09:07:10,249 INFO Included extra file "/etc/supervisor/conf.d/selenium-grid-docker.conf" during parsing
2025-11-24 09:07:10,252 INFO RPC interface 'supervisor' initialized
2025-11-24 09:07:10,252 INFO supervisord started with pid 10
2025-11-24 09:07:10,253 INFO spawned: 'socat' with pid 11
2025-11-24 09:07:10,254 INFO spawned: 'selenium-grid-docker' with pid 12
2025-11-24 09:07:10,258 INFO success: socat entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2025-11-24 09:07:10,258 INFO success: selenium-grid-docker entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
Starting Selenium Grid Standalone Docker...
Appending Selenium option: --enable-managed-downloads true
Appending Selenium option: --log-level INFO
Appending Selenium option: --http-logs false
Appending Selenium option: --structured-logs false
Selenium Grid Standalone Docker configuration: 
[docker]
# Configs have a mapping between the Docker image to use and the capabilities that need to be matched to
# start a container with the given image.
configs = [
    "selenium/standalone-firefox:4.38.0-20251101", '{"browserName": "firefox", "platformName": "linux"}',
    "selenium/standalone-chrome:4.38.0-20251101", '{"browserName": "chrome", "platformName": "linux"}',
    "selenium/standalone-edge:4.38.0-20251101", '{"browserName": "MicrosoftEdge", "platformName": "linux"}'
    ]
# Share configs of volumes, DNS, extra hosts between node-docker and node browser containers
host-config-keys = ["Dns", "DnsOptions", "DnsSearch", "ExtraHosts", "Binds"]

# URL for connecting to the docker daemon
# host.docker.internal works for macOS and Windows.
# Linux could use --net=host in the `docker run` instruction or 172.17.0.1 in the URI below.
# To have Docker listening through tcp on macOS, install socat and run the following command
# socat -4 TCP-LISTEN:2375,fork UNIX-CONNECT:/var/run/docker.sock
url = "http://127.0.0.1:2375"
# Docker image used for video recording
video-image = "selenium/video:ffmpeg-8.0-20251101"

# Uncomment the following section if you are running the node on a separate VM
# Fill out the placeholders with appropriate values
#[server]
#host = <ip-from-node-machine>
#port = <port-from-node-machine>
Appending Selenium option: --tracing false
Tracing is disabled
Using JAVA_OPTS:  -Dwebdriver.remote.enableTracing=false -Dwebdriver.httpclient.version=HTTP_1_1
09:07:10.538 INFO [LoggingOptions.configureLogEncoding] - Using the system default encoding
09:07:10.540 INFO [LoggingOptions.getTracer] - Using null tracer
09:07:10.859 INFO [LoggingOptions.getTracer] - Using null tracer
09:07:10.865 INFO [NodeOptions.getSessionFactories] - Detected 24 available processors
09:07:11.050 ERROR [Bootstrap.runMain] - Error during execution
java.lang.reflect.InvocationTargetException
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:118)
        at java.base/java.lang.reflect.Method.invoke(Method.java:580)
        at org.openqa.selenium.grid.Bootstrap.runMain(Bootstrap.java:77)
        at org.openqa.selenium.grid.Bootstrap.main(Bootstrap.java:70)
Caused by: org.openqa.selenium.grid.config.ConfigException: java.lang.reflect.InvocationTargetException
        at org.openqa.selenium.grid.config.MemoizedConfig.getClass(MemoizedConfig.java:119)
        at org.openqa.selenium.grid.node.config.NodeOptions.getNode(NodeOptions.java:188)
        at org.openqa.selenium.grid.commands.Standalone.createNode(Standalone.java:260)
        at org.openqa.selenium.grid.commands.Standalone.createHandlers(Standalone.java:219)
        at org.openqa.selenium.grid.TemplateGridServerCommand.asServer(TemplateGridServerCommand.java:48)
        at org.openqa.selenium.grid.commands.Standalone.execute(Standalone.java:246)
        at org.openqa.selenium.grid.TemplateGridCommand.lambda$configure$4(TemplateGridCommand.java:122)
        at org.openqa.selenium.grid.Main.launch(Main.java:83)
        at org.openqa.selenium.grid.Main.go(Main.java:56)
        at org.openqa.selenium.grid.Main.main(Main.java:41)
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
        ... 3 more
Caused by: java.lang.reflect.InvocationTargetException
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:118)
        at java.base/java.lang.reflect.Method.invoke(Method.java:580)
        at org.openqa.selenium.grid.config.ClassCreation.callCreateMethod(ClassCreation.java:51)
        at org.openqa.selenium.grid.config.MemoizedConfig.lambda$getClass$4(MemoizedConfig.java:104)
        at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1740)
        at org.openqa.selenium.grid.config.MemoizedConfig.getClass(MemoizedConfig.java:99)
        ... 13 more
Caused by: org.openqa.selenium.docker.DockerException: Unable to reach the Docker daemon at http://127.0.0.1:2375
        at org.openqa.selenium.grid.node.docker.DockerOptions.getDockerSessionFactories(DockerOptions.java:135)
        at org.openqa.selenium.grid.node.local.LocalNodeFactory.create(LocalNodeFactory.java:93)
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
        ... 18 more
2025-11-24 09:07:11,386 WARN exited: selenium-grid-docker (exit status 1; not expected)

Operating System

Ubuntu 24.04.3 LTS

Docker Selenium version (image tag)

4.38.0@sha256:fab923c7b70ee3a1810eb17c3bbd7b6d3596a67d67e29ef30f1d9c980ff3b8e1

Selenium Grid chart version (chart version)

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions