docker-selenium icon indicating copy to clipboard operation
docker-selenium copied to clipboard

[🚀 Feature]: Dynamic Grid does not re-fetch browser images, when they were pruned during runtime

Open MentalDisruptor opened this issue 2 years ago • 1 comments

What happened?

Steps to reproduce:

  • launch Selenium Grid in dynamic grid mode (in our case, grid was deployed in docker stack, but this should not make a difference)
  • spin up a browser node in dynamic grid and terminate it (image is persisted afterwards)
  • perform docker image prune -a
  • try to spin up the same browser node again

Expected behavior:

  • browser node image is fetched again as it is missing locally
  • browser node is launched successfully after image was fetched

Actual behavior: Grid fails fatally trying to spin up a browser with the now missing image.

[pool-1-thread-1] WARN c.d.q.t.s.c.Grid4Connector - Caught SessionNotCreatedException when creating WebDriver, retry 7 of 20
org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Response code 500. Message: Could not start a new session. Could not start a new session. Unable to create container:
No such image: sha256:c01aea5eb0bf279df5f745e3c277e30d7d9c81f15b9d1d4e829f1075c31ed5b1
Build info: version: '4.3.0', revision: 'a4995e2c09*'
System info: host: 'e7e35fa649c5', ip: '10.0.1.6', os.name: 'Linux', os.arch: 'amd64', os.version: '5.10.104-linuxkit', java.version: '11.0.15'
Driver info: driver.version: unknown
Build info: version: '4.3.0', revision: 'a4995e2c09*'
System info: host: '4eeeb7f7e1b9', ip: '10.0.1.8', os.name: 'Linux', os.arch: 'amd64', os.version: '5.10.104-linuxkit', java.version: '11.0.15'
Driver info: driver.version: unknown
Build info: version: '4.1.4', revision: '535d840ee2'
System info: host: 'C######', ip: '#####%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_302'
Driver info: org.openqa.selenium.remote.RemoteWebDriver
Command: [null, newSession {capabilities=[Capabilities {acceptInsecureCerts: true, browserName: chrome, goog:chromeOptions: {args: [--lang=de-DE,de, --disable-gpu], extensions: [], prefs: {download.directory_upgrade: true, download.prompt_for_download: false}}, se:recordVideo: true, se:screenResolution: 1920x1080, se:timeZone: Europe/Berlin}], desiredCapabilities=Capabilities {acceptInsecureCerts: true, acceptSslCerts: true, browserName: chrome, goog:chromeOptions: {args: [--lang=de-DE,de, --disable-gpu], extensions: [], prefs: {download.directory_upgrade: true, download.prompt_for_download: false}}, name: testrunner.qa.testproject_H..., se:recordVideo: true, se:screenResolution: 1920x1080, se:timeZone: Europe/Berlin}}]
Capabilities {}
	at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:126)
	at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:84)
	at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:62)
	at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:156)
	at org.openqa.selenium.remote.TracedCommandExecutor.execute(TracedCommandExecutor.java:51)
	at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:567)
	at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:248)
	at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:164)
	at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:146)
	at c.d.q.t.s.TestrunnerDriver.<init>(TestrunnerDriver.java:54)
	at c.d.q.t.s.c.Grid4Connector.createGridSession(Grid4Connector.java:84)
	at c.d.q.t.s.c.Grid4Connector.setupRemoteDriver(Grid4Connector.java:48)
	at c.d.q.t.JUnitBase.setUp(JUnitBase.java:99)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
	at org.junit.internal.runners.statements.RunBefores.invokeMethod(RunBefores.java:33)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
	at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:61)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
	at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
	at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
	at org.junit.runners.Suite.runChild(Suite.java:128)
	at org.junit.runners.Suite.runChild(Suite.java:27)
	at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
	at com.saucelabs.junit.Parallelized$NonBlockingAsynchronousRunner$1.call(Parallelized.java:37)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

Command used to start Selenium Grid with Docker

version: "3.7"

services:
  socat:
    image: alpine/socat:latest
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    ports:
      - "2375:2375"
    command: [ "TCP-LISTEN:2375,fork", "UNIX-CONNECT:/var/run/docker.sock" ]
  node-docker:
    image: selenium/node-docker:4
    volumes:
      - ./docker-selenium/assets:/opt/selenium/assets
      - ./docker-selenium/config/dev-local.toml:/opt/bin/config.toml
      - /var/run/docker.sock:/var/run/docker.sock
    depends_on:
      - socat
      - selenium-hub
    environment:
      - SE_EVENT_BUS_HOST=selenium-hub
      - SE_EVENT_BUS_PUBLISH_PORT=4442
      - SE_EVENT_BUS_SUBSCRIBE_PORT=4443
  selenium-hub:
    image: selenium/hub:4
    ports:
      - "4442:4442"
      - "4443:4443"
      - "4444:4444"
    depends_on:
      - socat
networks:
  default:
    attachable: true

---
config.toml:

[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", "{\"browserName\": \"firefox\"}",
    "selenium/standalone-chrome:4", "{\"browserName\": \"chrome\"}",
    "selenium/standalone-edge:4", "{\"browserName\": \"MicrosoftEdge\"}"
]

# 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://host.docker.internal:2375"
# Docker imagee used for video recording
video-image = "selenium/video:latest"

#[node]
#grid-url = "http://127.0.0.1"
#max-sessions = 16
#override-max-sessions = true

# 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>

Relevant log output

14:01:40.195 INFO [DockerSessionFactory.apply] - Starting session for Capabilities {acceptInsecureCerts: true, acceptSslCerts: true, browserName: chrome, goog:chromeOptions: {args: [--lang=de-DE,de, --disable-gpu], extensions: [], prefs: {download.directory_upgrade: true, download.prompt_for_download: false}}, name: testrunner.qa.testproject_C..., se:recordVideo: true, se:screenResolution: 1920x1080, se:timeZone: Europe/Berlin}
14:01:40.204 INFO [DockerSessionFactory.apply] - Creating container...
14:01:40.214 INFO [DockerSessionFactory.apply] - Starting session for Capabilities {acceptInsecureCerts: true, browserName: chrome, goog:chromeOptions: {args: [--lang=de-DE,de, --disable-gpu], extensions: [], prefs: {download.directory_upgrade: true, download.prompt_for_download: false}}, se:recordVideo: true, se:screenResolution: 1920x1080, se:timeZone: Europe/Berlin}
14:01:40.214 INFO [DockerSessionFactory.apply] - Creating container...
14:01:40.231 INFO [DockerSessionFactory.apply] - Starting session for Capabilities {acceptInsecureCerts: true, acceptSslCerts: true, browserName: chrome, goog:chromeOptions: {args: [--lang=de-DE,de, --disable-gpu], extensions: [], prefs: {download.directory_upgrade: true, download.prompt_for_download: false}}, name: testrunner.qa.testproject_H..., se:recordVideo: true, se:screenResolution: 1920x1080, se:timeZone: Europe/Berlin}
14:01:40.232 INFO [DockerSessionFactory.apply] - Creating container...
14:01:40.300 WARN [DockerMessages.throwIfNecessary] - Unable to create container: 
No such image: sha256:c01aea5eb0bf279df5f745e3c277e30d7d9c81f15b9d1d4e829f1075c31ed5b1
14:01:40.302 WARN [DockerMessages.throwIfNecessary] - Unable to create container: 
No such image: sha256:c01aea5eb0bf279df5f745e3c277e30d7d9c81f15b9d1d4e829f1075c31ed5b1
14:01:40.303 WARN [DockerMessages.throwIfNecessary] - Unable to create container: 
No such image: sha256:c01aea5eb0bf279df5f745e3c277e30d7d9c81f15b9d1d4e829f1075c31ed5b1
14:01:40.305 WARN [SessionSlot.apply] - Unable to create session
org.openqa.selenium.docker.DockerException: Unable to create container: 
No such image: sha256:c01aea5eb0bf279df5f745e3c277e30d7d9c81f15b9d1d4e829f1075c31ed5b1
        at org.openqa.selenium.docker.v1_41.DockerMessages.throwIfNecessary(DockerMessages.java:59)
        at org.openqa.selenium.docker.v1_41.CreateContainer.apply(CreateContainer.java:56)
        at org.openqa.selenium.docker.v1_41.V141Docker.create(V141Docker.java:97)
        at org.openqa.selenium.docker.Docker.lambda$create$2(Docker.java:61)
        at java.base/java.util.Optional.map(Optional.java:265)
        at org.openqa.selenium.docker.Docker.create(Docker.java:61)
        at org.openqa.selenium.grid.node.docker.DockerSessionFactory.createBrowserContainer(DockerSessionFactory.java:300)
        at org.openqa.selenium.grid.node.docker.DockerSessionFactory.apply(DockerSessionFactory.java:154)
        at org.openqa.selenium.grid.node.docker.DockerSessionFactory.apply(DockerSessionFactory.java:90)
        at org.openqa.selenium.grid.node.local.SessionSlot.apply(SessionSlot.java:145)
        at org.openqa.selenium.grid.node.local.LocalNode.newSession(LocalNode.java:362)
        at org.openqa.selenium.grid.node.NewNodeSession.execute(NewNodeSession.java:52)
        at org.openqa.selenium.remote.http.Route$TemplatizedRoute.handle(Route.java:192)
        at org.openqa.selenium.remote.http.Route.execute(Route.java:68)
        at org.openqa.selenium.grid.security.RequiresSecretFilter.lambda$apply$0(RequiresSecretFilter.java:64)
        at org.openqa.selenium.remote.tracing.SpanWrappedHttpHandler.execute(SpanWrappedHttpHandler.java:86)
        at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64)
        at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336)
        at org.openqa.selenium.remote.http.Route.execute(Route.java:68)
        at org.openqa.selenium.grid.node.Node.execute(Node.java:240)
        at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336)
        at org.openqa.selenium.remote.http.Route.execute(Route.java:68)
        at org.openqa.selenium.remote.AddWebDriverSpecHeaders.lambda$apply$0(AddWebDriverSpecHeaders.java:35)
        at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44)
        at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64)
        at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44)
        at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64)
        at org.openqa.selenium.netty.server.SeleniumHandler.lambda$channelRead0$0(SeleniumHandler.java:44)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:829)
14:01:40.305 WARN [SessionSlot.apply] - Unable to create session
org.openqa.selenium.docker.DockerException: Unable to create container: 
No such image: sha256:c01aea5eb0bf279df5f745e3c277e30d7d9c81f15b9d1d4e829f1075c31ed5b1
        at org.openqa.selenium.docker.v1_41.DockerMessages.throwIfNecessary(DockerMessages.java:59)
        at org.openqa.selenium.docker.v1_41.CreateContainer.apply(CreateContainer.java:56)
        at org.openqa.selenium.docker.v1_41.V141Docker.create(V141Docker.java:97)
        at org.openqa.selenium.docker.Docker.lambda$create$2(Docker.java:61)
        at java.base/java.util.Optional.map(Optional.java:265)
        at org.openqa.selenium.docker.Docker.create(Docker.java:61)
        at org.openqa.selenium.grid.node.docker.DockerSessionFactory.createBrowserContainer(DockerSessionFactory.java:300)
        at org.openqa.selenium.grid.node.docker.DockerSessionFactory.apply(DockerSessionFactory.java:154)
        at org.openqa.selenium.grid.node.docker.DockerSessionFactory.apply(DockerSessionFactory.java:90)
        at org.openqa.selenium.grid.node.local.SessionSlot.apply(SessionSlot.java:145)
        at org.openqa.selenium.grid.node.local.LocalNode.newSession(LocalNode.java:362)
        at org.openqa.selenium.grid.node.NewNodeSession.execute(NewNodeSession.java:52)
        at org.openqa.selenium.remote.http.Route$TemplatizedRoute.handle(Route.java:192)
        at org.openqa.selenium.remote.http.Route.execute(Route.java:68)
        at org.openqa.selenium.grid.security.RequiresSecretFilter.lambda$apply$0(RequiresSecretFilter.java:64)
        at org.openqa.selenium.remote.tracing.SpanWrappedHttpHandler.execute(SpanWrappedHttpHandler.java:86)
        at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64)
        at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336)
        at org.openqa.selenium.remote.http.Route.execute(Route.java:68)
        at org.openqa.selenium.grid.node.Node.execute(Node.java:240)
        at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336)
        at org.openqa.selenium.remote.http.Route.execute(Route.java:68)
        at org.openqa.selenium.remote.AddWebDriverSpecHeaders.lambda$apply$0(AddWebDriverSpecHeaders.java:35)
        at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44)
        at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64)
        at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44)
        at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64)
        at org.openqa.selenium.netty.server.SeleniumHandler.lambda$channelRead0$0(SeleniumHandler.java:44)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:829)
14:01:40.307 WARN [SessionSlot.apply] - Unable to create session
org.openqa.selenium.docker.DockerException: Unable to create container: 
No such image: sha256:c01aea5eb0bf279df5f745e3c277e30d7d9c81f15b9d1d4e829f1075c31ed5b1
        at org.openqa.selenium.docker.v1_41.DockerMessages.throwIfNecessary(DockerMessages.java:59)
        at org.openqa.selenium.docker.v1_41.CreateContainer.apply(CreateContainer.java:56)
        at org.openqa.selenium.docker.v1_41.V141Docker.create(V141Docker.java:97)
        at org.openqa.selenium.docker.Docker.lambda$create$2(Docker.java:61)
        at java.base/java.util.Optional.map(Optional.java:265)
        at org.openqa.selenium.docker.Docker.create(Docker.java:61)
        at org.openqa.selenium.grid.node.docker.DockerSessionFactory.createBrowserContainer(DockerSessionFactory.java:300)
        at org.openqa.selenium.grid.node.docker.DockerSessionFactory.apply(DockerSessionFactory.java:154)
        at org.openqa.selenium.grid.node.docker.DockerSessionFactory.apply(DockerSessionFactory.java:90)
        at org.openqa.selenium.grid.node.local.SessionSlot.apply(SessionSlot.java:145)
        at org.openqa.selenium.grid.node.local.LocalNode.newSession(LocalNode.java:362)
        at org.openqa.selenium.grid.node.NewNodeSession.execute(NewNodeSession.java:52)
        at org.openqa.selenium.remote.http.Route$TemplatizedRoute.handle(Route.java:192)
        at org.openqa.selenium.remote.http.Route.execute(Route.java:68)
        at org.openqa.selenium.grid.security.RequiresSecretFilter.lambda$apply$0(RequiresSecretFilter.java:64)
        at org.openqa.selenium.remote.tracing.SpanWrappedHttpHandler.execute(SpanWrappedHttpHandler.java:86)
        at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64)
        at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336)
        at org.openqa.selenium.remote.http.Route.execute(Route.java:68)
        at org.openqa.selenium.grid.node.Node.execute(Node.java:240)
        at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336)
        at org.openqa.selenium.remote.http.Route.execute(Route.java:68)
        at org.openqa.selenium.remote.AddWebDriverSpecHeaders.lambda$apply$0(AddWebDriverSpecHeaders.java:35)
        at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44)
        at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64)
        at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44)
        at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64)
        at org.openqa.selenium.netty.server.SeleniumHandler.lambda$channelRead0$0(SeleniumHandler.java:44)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:829)
14:01:40.345 INFO [DockerSessionFactory.apply] - Starting session for Capabilities {acceptInsecureCerts: true, acceptSslCerts: true, browserName: chrome, goog:chromeOptions: {args: [--lang=de-DE,de, --disable-gpu], extensions: [], prefs: {download.directory_upgrade: true, download.prompt_for_download: false}}, name: testrunner.qa.testproject_J..., se:recordVideo: true, se:screenResolution: 1920x1080, se:timeZone: Europe/Berlin}
14:01:40.345 INFO [DockerSessionFactory.apply] - Creating container...
14:01:40.360 INFO [DockerSessionFactory.apply] - Starting session for Capabilities {acceptInsecureCerts: true, browserName: chrome, goog:chromeOptions: {args: [--lang=de-DE,de, --disable-gpu], extensions: [], prefs: {download.directory_upgrade: true, download.prompt_for_download: false}}, se:recordVideo: true, se:screenResolution: 1920x1080, se:timeZone: Europe/Berlin}
14:01:40.361 INFO [DockerSessionFactory.apply] - Creating container...
14:01:40.360 INFO [DockerSessionFactory.apply] - Starting session for Capabilities {acceptInsecureCerts: true, browserName: chrome, goog:chromeOptions: {args: [--lang=de-DE,de, --disable-gpu], extensions: [], prefs: {download.directory_upgrade: true, download.prompt_for_download: false}}, se:recordVideo: true, se:screenResolution: 1920x1080, se:timeZone: Europe/Berlin}
14:01:40.369 INFO [DockerSessionFactory.apply] - Creating container...
14:01:40.391 WARN [DockerMessages.throwIfNecessary] - Unable to create container: 
No such image: sha256:c01aea5eb0bf279df5f745e3c277e30d7d9c81f15b9d1d4e829f1075c31ed5b1
14:01:40.392 WARN [SessionSlot.apply] - Unable to create session
org.openqa.selenium.docker.DockerException: Unable to create container: 
No such image: sha256:c01aea5eb0bf279df5f745e3c277e30d7d9c81f15b9d1d4e829f1075c31ed5b1
        at org.openqa.selenium.docker.v1_41.DockerMessages.throwIfNecessary(DockerMessages.java:59)
        at org.openqa.selenium.docker.v1_41.CreateContainer.apply(CreateContainer.java:56)
        at org.openqa.selenium.docker.v1_41.V141Docker.create(V141Docker.java:97)
        at org.openqa.selenium.docker.Docker.lambda$create$2(Docker.java:61)
        at java.base/java.util.Optional.map(Optional.java:265)
        at org.openqa.selenium.docker.Docker.create(Docker.java:61)
        at org.openqa.selenium.grid.node.docker.DockerSessionFactory.createBrowserContainer(DockerSessionFactory.java:300)
        at org.openqa.selenium.grid.node.docker.DockerSessionFactory.apply(DockerSessionFactory.java:154)
        at org.openqa.selenium.grid.node.docker.DockerSessionFactory.apply(DockerSessionFactory.java:90)
        at org.openqa.selenium.grid.node.local.SessionSlot.apply(SessionSlot.java:145)
        at org.openqa.selenium.grid.node.local.LocalNode.newSession(LocalNode.java:362)
        at org.openqa.selenium.grid.node.NewNodeSession.execute(NewNodeSession.java:52)
        at org.openqa.selenium.remote.http.Route$TemplatizedRoute.handle(Route.java:192)
        at org.openqa.selenium.remote.http.Route.execute(Route.java:68)
        at org.openqa.selenium.grid.security.RequiresSecretFilter.lambda$apply$0(RequiresSecretFilter.java:64)
        at org.openqa.selenium.remote.tracing.SpanWrappedHttpHandler.execute(SpanWrappedHttpHandler.java:86)
        at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64)
        at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336)
        at org.openqa.selenium.remote.http.Route.execute(Route.java:68)
        at org.openqa.selenium.grid.node.Node.execute(Node.java:240)
        at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336)
        at org.openqa.selenium.remote.http.Route.execute(Route.java:68)
        at org.openqa.selenium.remote.AddWebDriverSpecHeaders.lambda$apply$0(AddWebDriverSpecHeaders.java:35)
        at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44)
        at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64)
        at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44)
        at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64)
        at org.openqa.selenium.netty.server.SeleniumHandler.lambda$channelRead0$0(SeleniumHandler.java:44)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:829)
14:01:40.398 WARN [DockerMessages.throwIfNecessary] - Unable to create container: 
No such image: sha256:c01aea5eb0bf279df5f745e3c277e30d7d9c81f15b9d1d4e829f1075c31ed5b1
14:01:40.399 WARN [SessionSlot.apply] - Unable to create session
org.openqa.selenium.docker.DockerException: Unable to create container: 
No such image: sha256:c01aea5eb0bf279df5f745e3c277e30d7d9c81f15b9d1d4e829f1075c31ed5b1
        at org.openqa.selenium.docker.v1_41.DockerMessages.throwIfNecessary(DockerMessages.java:59)
        at org.openqa.selenium.docker.v1_41.CreateContainer.apply(CreateContainer.java:56)
        at org.openqa.selenium.docker.v1_41.V141Docker.create(V141Docker.java:97)
        at org.openqa.selenium.docker.Docker.lambda$create$2(Docker.java:61)
        at java.base/java.util.Optional.map(Optional.java:265)
        at org.openqa.selenium.docker.Docker.create(Docker.java:61)
        at org.openqa.selenium.grid.node.docker.DockerSessionFactory.createBrowserContainer(DockerSessionFactory.java:300)
        at org.openqa.selenium.grid.node.docker.DockerSessionFactory.apply(DockerSessionFactory.java:154)
        at org.openqa.selenium.grid.node.docker.DockerSessionFactory.apply(DockerSessionFactory.java:90)
        at org.openqa.selenium.grid.node.local.SessionSlot.apply(SessionSlot.java:145)
        at org.openqa.selenium.grid.node.local.LocalNode.newSession(LocalNode.java:362)
        at org.openqa.selenium.grid.node.NewNodeSession.execute(NewNodeSession.java:52)
        at org.openqa.selenium.remote.http.Route$TemplatizedRoute.handle(Route.java:192)
        at org.openqa.selenium.remote.http.Route.execute(Route.java:68)
        at org.openqa.selenium.grid.security.RequiresSecretFilter.lambda$apply$0(RequiresSecretFilter.java:64)
        at org.openqa.selenium.remote.tracing.SpanWrappedHttpHandler.execute(SpanWrappedHttpHandler.java:86)
        at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64)
        at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336)
        at org.openqa.selenium.remote.http.Route.execute(Route.java:68)
        at org.openqa.selenium.grid.node.Node.execute(Node.java:240)
        at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336)
        at org.openqa.selenium.remote.http.Route.execute(Route.java:68)
        at org.openqa.selenium.remote.AddWebDriverSpecHeaders.lambda$apply$0(AddWebDriverSpecHeaders.java:35)
        at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44)
        at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64)
        at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44)
        at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64)
        at org.openqa.selenium.netty.server.SeleniumHandler.lambda$channelRead0$0(SeleniumHandler.java:44)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:829)
14:01:40.414 WARN [DockerMessages.throwIfNecessary] - Unable to create container: 
No such image: sha256:c01aea5eb0bf279df5f745e3c277e30d7d9c81f15b9d1d4e829f1075c31ed5b1
14:01:40.415 WARN [SessionSlot.apply] - Unable to create session
org.openqa.selenium.docker.DockerException: Unable to create container: 
No such image: sha256:c01aea5eb0bf279df5f745e3c277e30d7d9c81f15b9d1d4e829f1075c31ed5b1
        at org.openqa.selenium.docker.v1_41.DockerMessages.throwIfNecessary(DockerMessages.java:59)
        at org.openqa.selenium.docker.v1_41.CreateContainer.apply(CreateContainer.java:56)
        at org.openqa.selenium.docker.v1_41.V141Docker.create(V141Docker.java:97)
        at org.openqa.selenium.docker.Docker.lambda$create$2(Docker.java:61)
        at java.base/java.util.Optional.map(Optional.java:265)
        at org.openqa.selenium.docker.Docker.create(Docker.java:61)
        at org.openqa.selenium.grid.node.docker.DockerSessionFactory.createBrowserContainer(DockerSessionFactory.java:300)
        at org.openqa.selenium.grid.node.docker.DockerSessionFactory.apply(DockerSessionFactory.java:154)
        at org.openqa.selenium.grid.node.docker.DockerSessionFactory.apply(DockerSessionFactory.java:90)
        at org.openqa.selenium.grid.node.local.SessionSlot.apply(SessionSlot.java:145)
        at org.openqa.selenium.grid.node.local.LocalNode.newSession(LocalNode.java:362)
        at org.openqa.selenium.grid.node.NewNodeSession.execute(NewNodeSession.java:52)
        at org.openqa.selenium.remote.http.Route$TemplatizedRoute.handle(Route.java:192)
        at org.openqa.selenium.remote.http.Route.execute(Route.java:68)
        at org.openqa.selenium.grid.security.RequiresSecretFilter.lambda$apply$0(RequiresSecretFilter.java:64)
        at org.openqa.selenium.remote.tracing.SpanWrappedHttpHandler.execute(SpanWrappedHttpHandler.java:86)
        at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64)
        at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336)
        at org.openqa.selenium.remote.http.Route.execute(Route.java:68)
        at org.openqa.selenium.grid.node.Node.execute(Node.java:240)
        at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336)
        at org.openqa.selenium.remote.http.Route.execute(Route.java:68)
        at org.openqa.selenium.remote.AddWebDriverSpecHeaders.lambda$apply$0(AddWebDriverSpecHeaders.java:35)
        at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44)
        at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64)
        at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44)
        at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64)
        at org.openqa.selenium.netty.server.SeleniumHandler.lambda$channelRead0$0(SeleniumHandler.java:44)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:829)
14:01:55.125 INFO [DockerSessionFactory.apply] - Starting session for Capabilities {acceptInsecureCerts: true, browserName: chrome, goog:chromeOptions: {args: [--lang=de-DE,de, --disable-gpu], extensions: [], prefs: {download.directory_upgrade: true, download.prompt_for_download: false}}, se:recordVideo: true, se:screenResolution: 1920x1080, se:timeZone: Europe/Berlin}
14:01:55.126 INFO [DockerSessionFactory.apply] - Creating container...
14:01:55.134 INFO [DockerSessionFactory.apply] - Starting session for Capabilities {acceptInsecureCerts: true, acceptSslCerts: true, browserName: chrome, goog:chromeOptions: {args: [--lang=de-DE,de, --disable-gpu], extensions: [], prefs: {download.directory_upgrade: true, download.prompt_for_download: false}}, name: testrunner.qa.testproject_C..., se:recordVideo: true, se:screenResolution: 1920x1080, se:timeZone: Europe/Berlin}
14:01:55.134 INFO [DockerSessionFactory.apply] - Creating container...
14:01:55.143 INFO [DockerSessionFactory.apply] - Starting session for Capabilities {acceptInsecureCerts: true, acceptSslCerts: true, browserName: chrome, goog:chromeOptions: {args: [--lang=de-DE,de, --disable-gpu], extensions: [], prefs: {download.directory_upgrade: true, download.prompt_for_download: false}}, name: testrunner.qa.testproject_H..., se:recordVideo: true, se:screenResolution: 1920x1080, se:timeZone: Europe/Berlin}
14:01:55.144 INFO [DockerSessionFactory.apply] - Creating container...
14:01:55.172 WARN [DockerMessages.throwIfNecessary] - Unable to create container: 
No such image: sha256:c01aea5eb0bf279df5f745e3c277e30d7d9c81f15b9d1d4e829f1075c31ed5b1
14:01:55.173 WARN [SessionSlot.apply] - Unable to create session
org.openqa.selenium.docker.DockerException: Unable to create container: 
No such image: sha256:c01aea5eb0bf279df5f745e3c277e30d7d9c81f15b9d1d4e829f1075c31ed5b1
        at org.openqa.selenium.docker.v1_41.DockerMessages.throwIfNecessary(DockerMessages.java:59)
        at org.openqa.selenium.docker.v1_41.CreateContainer.apply(CreateContainer.java:56)
        at org.openqa.selenium.docker.v1_41.V141Docker.create(V141Docker.java:97)
        at org.openqa.selenium.docker.Docker.lambda$create$2(Docker.java:61)
        at java.base/java.util.Optional.map(Optional.java:265)
        at org.openqa.selenium.docker.Docker.create(Docker.java:61)
        at org.openqa.selenium.grid.node.docker.DockerSessionFactory.createBrowserContainer(DockerSessionFactory.java:300)
        at org.openqa.selenium.grid.node.docker.DockerSessionFactory.apply(DockerSessionFactory.java:154)
        at org.openqa.selenium.grid.node.docker.DockerSessionFactory.apply(DockerSessionFactory.java:90)
        at org.openqa.selenium.grid.node.local.SessionSlot.apply(SessionSlot.java:145)
        at org.openqa.selenium.grid.node.local.LocalNode.newSession(LocalNode.java:362)
        at org.openqa.selenium.grid.node.NewNodeSession.execute(NewNodeSession.java:52)
        at org.openqa.selenium.remote.http.Route$TemplatizedRoute.handle(Route.java:192)
        at org.openqa.selenium.remote.http.Route.execute(Route.java:68)
        at org.openqa.selenium.grid.security.RequiresSecretFilter.lambda$apply$0(RequiresSecretFilter.java:64)
        at org.openqa.selenium.remote.tracing.SpanWrappedHttpHandler.execute(SpanWrappedHttpHandler.java:86)
        at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64)
        at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336)
        at org.openqa.selenium.remote.http.Route.execute(Route.java:68)
        at org.openqa.selenium.grid.node.Node.execute(Node.java:240)
        at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336)
        at org.openqa.selenium.remote.http.Route.execute(Route.java:68)
        at org.openqa.selenium.remote.AddWebDriverSpecHeaders.lambda$apply$0(AddWebDriverSpecHeaders.java:35)
        at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44)
        at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64)
        at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44)
        at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64)
        at org.openqa.selenium.netty.server.SeleniumHandler.lambda$channelRead0$0(SeleniumHandler.java:44)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:829)
14:01:55.173 WARN [DockerMessages.throwIfNecessary] - Unable to create container: 
No such image: sha256:c01aea5eb0bf279df5f745e3c277e30d7d9c81f15b9d1d4e829f1075c31ed5b1
14:01:55.175 WARN [SessionSlot.apply] - Unable to create session
org.openqa.selenium.docker.DockerException: Unable to create container: 
No such image: sha256:c01aea5eb0bf279df5f745e3c277e30d7d9c81f15b9d1d4e829f1075c31ed5b1
        at org.openqa.selenium.docker.v1_41.DockerMessages.throwIfNecessary(DockerMessages.java:59)
        at org.openqa.selenium.docker.v1_41.CreateContainer.apply(CreateContainer.java:56)
        at org.openqa.selenium.docker.v1_41.V141Docker.create(V141Docker.java:97)
        at org.openqa.selenium.docker.Docker.lambda$create$2(Docker.java:61)
        at java.base/java.util.Optional.map(Optional.java:265)
        at org.openqa.selenium.docker.Docker.create(Docker.java:61)
        at org.openqa.selenium.grid.node.docker.DockerSessionFactory.createBrowserContainer(DockerSessionFactory.java:300)
        at org.openqa.selenium.grid.node.docker.DockerSessionFactory.apply(DockerSessionFactory.java:154)
        at org.openqa.selenium.grid.node.docker.DockerSessionFactory.apply(DockerSessionFactory.java:90)
        at org.openqa.selenium.grid.node.local.SessionSlot.apply(SessionSlot.java:145)
        at org.openqa.selenium.grid.node.local.LocalNode.newSession(LocalNode.java:362)
        at org.openqa.selenium.grid.node.NewNodeSession.execute(NewNodeSession.java:52)
        at org.openqa.selenium.remote.http.Route$TemplatizedRoute.handle(Route.java:192)
        at org.openqa.selenium.remote.http.Route.execute(Route.java:68)
        at org.openqa.selenium.grid.security.RequiresSecretFilter.lambda$apply$0(RequiresSecretFilter.java:64)
        at org.openqa.selenium.remote.tracing.SpanWrappedHttpHandler.execute(SpanWrappedHttpHandler.java:86)
        at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64)
        at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336)
        at org.openqa.selenium.remote.http.Route.execute(Route.java:68)
        at org.openqa.selenium.grid.node.Node.execute(Node.java:240)
        at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336)
        at org.openqa.selenium.remote.http.Route.execute(Route.java:68)
        at org.openqa.selenium.remote.AddWebDriverSpecHeaders.lambda$apply$0(AddWebDriverSpecHeaders.java:35)
        at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44)
        at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64)
        at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44)
        at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64)
        at org.openqa.selenium.netty.server.SeleniumHandler.lambda$channelRead0$0(SeleniumHandler.java:44)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:829)
14:01:55.181 WARN [DockerMessages.throwIfNecessary] - Unable to create container: 
No such image: sha256:c01aea5eb0bf279df5f745e3c277e30d7d9c81f15b9d1d4e829f1075c31ed5b1
14:01:55.182 WARN [SessionSlot.apply] - Unable to create session
org.openqa.selenium.docker.DockerException: Unable to create container: 
No such image: sha256:c01aea5eb0bf279df5f745e3c277e30d7d9c81f15b9d1d4e829f1075c31ed5b1
        at org.openqa.selenium.docker.v1_41.DockerMessages.throwIfNecessary(DockerMessages.java:59)
        at org.openqa.selenium.docker.v1_41.CreateContainer.apply(CreateContainer.java:56)
        at org.openqa.selenium.docker.v1_41.V141Docker.create(V141Docker.java:97)
        at org.openqa.selenium.docker.Docker.lambda$create$2(Docker.java:61)
        at java.base/java.util.Optional.map(Optional.java:265)
        at org.openqa.selenium.docker.Docker.create(Docker.java:61)
        at org.openqa.selenium.grid.node.docker.DockerSessionFactory.createBrowserContainer(DockerSessionFactory.java:300)
        at org.openqa.selenium.grid.node.docker.DockerSessionFactory.apply(DockerSessionFactory.java:154)
        at org.openqa.selenium.grid.node.docker.DockerSessionFactory.apply(DockerSessionFactory.java:90)
        at org.openqa.selenium.grid.node.local.SessionSlot.apply(SessionSlot.java:145)
        at org.openqa.selenium.grid.node.local.LocalNode.newSession(LocalNode.java:362)
        at org.openqa.selenium.grid.node.NewNodeSession.execute(NewNodeSession.java:52)
        at org.openqa.selenium.remote.http.Route$TemplatizedRoute.handle(Route.java:192)
        at org.openqa.selenium.remote.http.Route.execute(Route.java:68)
        at org.openqa.selenium.grid.security.RequiresSecretFilter.lambda$apply$0(RequiresSecretFilter.java:64)
        at org.openqa.selenium.remote.tracing.SpanWrappedHttpHandler.execute(SpanWrappedHttpHandler.java:86)
        at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64)
        at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336)
        at org.openqa.selenium.remote.http.Route.execute(Route.java:68)
        at org.openqa.selenium.grid.node.Node.execute(Node.java:240)
        at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336)
        at org.openqa.selenium.remote.http.Route.execute(Route.java:68)
        at org.openqa.selenium.remote.AddWebDriverSpecHeaders.lambda$apply$0(AddWebDriverSpecHeaders.java:35)
        at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44)
        at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64)
        at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44)
        at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64)
        at org.openqa.selenium.netty.server.SeleniumHandler.lambda$channelRead0$0(SeleniumHandler.java:44)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:829)
14:01:55.208 INFO [DockerSessionFactory.apply] - Starting session for Capabilities {acceptInsecureCerts: true, acceptSslCerts: true, browserName: chrome, goog:chromeOptions: {args: [--lang=de-DE,de, --disable-gpu], extensions: [], prefs: {download.directory_upgrade: true, download.prompt_for_download: false}}, name: testrunner.qa.testproject_J..., se:recordVideo: true, se:screenResolution: 1920x1080, se:timeZone: Europe/Berlin}
14:01:55.209 INFO [DockerSessionFactory.apply] - Starting session for Capabilities {acceptInsecureCerts: true, browserName: chrome, goog:chromeOptions: {args: [--lang=de-DE,de, --disable-gpu], extensions: [], prefs: {download.directory_upgrade: true, download.prompt_for_download: false}}, se:recordVideo: true, se:screenResolution: 1920x1080, se:timeZone: Europe/Berlin}
14:01:55.213 INFO [DockerSessionFactory.apply] - Creating container...
14:01:55.214 INFO [DockerSessionFactory.apply] - Creating container...
14:01:55.233 INFO [DockerSessionFactory.apply] - Starting session for Capabilities {acceptInsecureCerts: true, browserName: chrome, goog:chromeOptions: {args: [--lang=de-DE,de, --disable-gpu], extensions: [], prefs: {download.directory_upgrade: true, download.prompt_for_download: false}}, se:recordVideo: true, se:screenResolution: 1920x1080, se:timeZone: Europe/Berlin}
14:01:55.234 INFO [DockerSessionFactory.apply] - Creating container...
14:01:55.243 WARN [DockerMessages.throwIfNecessary] - Unable to create container: 
No such image: sha256:c01aea5eb0bf279df5f745e3c277e30d7d9c81f15b9d1d4e829f1075c31ed5b1
14:01:55.245 WARN [SessionSlot.apply] - Unable to create session
org.openqa.selenium.docker.DockerException: Unable to create container: 
No such image: sha256:c01aea5eb0bf279df5f745e3c277e30d7d9c81f15b9d1d4e829f1075c31ed5b1
        at org.openqa.selenium.docker.v1_41.DockerMessages.throwIfNecessary(DockerMessages.java:59)
        at org.openqa.selenium.docker.v1_41.CreateContainer.apply(CreateContainer.java:56)
        at org.openqa.selenium.docker.v1_41.V141Docker.create(V141Docker.java:97)
        at org.openqa.selenium.docker.Docker.lambda$create$2(Docker.java:61)
        at java.base/java.util.Optional.map(Optional.java:265)
        at org.openqa.selenium.docker.Docker.create(Docker.java:61)
        at org.openqa.selenium.grid.node.docker.DockerSessionFactory.createBrowserContainer(DockerSessionFactory.java:300)
        at org.openqa.selenium.grid.node.docker.DockerSessionFactory.apply(DockerSessionFactory.java:154)
        at org.openqa.selenium.grid.node.docker.DockerSessionFactory.apply(DockerSessionFactory.java:90)
        at org.openqa.selenium.grid.node.local.SessionSlot.apply(SessionSlot.java:145)
        at org.openqa.selenium.grid.node.local.LocalNode.newSession(LocalNode.java:362)
        at org.openqa.selenium.grid.node.NewNodeSession.execute(NewNodeSession.java:52)
        at org.openqa.selenium.remote.http.Route$TemplatizedRoute.handle(Route.java:192)
        at org.openqa.selenium.remote.http.Route.execute(Route.java:68)
        at org.openqa.selenium.grid.security.RequiresSecretFilter.lambda$apply$0(RequiresSecretFilter.java:64)
        at org.openqa.selenium.remote.tracing.SpanWrappedHttpHandler.execute(SpanWrappedHttpHandler.java:86)
        at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64)
        at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336)
        at org.openqa.selenium.remote.http.Route.execute(Route.java:68)
        at org.openqa.selenium.grid.node.Node.execute(Node.java:240)
        at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336)
        at org.openqa.selenium.remote.http.Route.execute(Route.java:68)
        at org.openqa.selenium.remote.AddWebDriverSpecHeaders.lambda$apply$0(AddWebDriverSpecHeaders.java:35)
        at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44)
        at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64)
        at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44)
        at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64)
        at org.openqa.selenium.netty.server.SeleniumHandler.lambda$channelRead0$0(SeleniumHandler.java:44)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:829)
14:01:55.252 WARN [DockerMessages.throwIfNecessary] - Unable to create container: 
No such image: sha256:c01aea5eb0bf279df5f745e3c277e30d7d9c81f15b9d1d4e829f1075c31ed5b1

Operating System

macOS Monterey 12.5

Docker Selenium version (tag)

4

MentalDisruptor avatar Aug 01 '22 14:08 MentalDisruptor

That is expected, images are pulled during startup. We should treat this as a feature request.

diemol avatar Aug 01 '22 14:08 diemol