testcontainers-java: Unable to run Testcontainers on Windows Server 2019 (LinuxKit installed, LCOW)

Unable to run containers from testcontainer in Windows Server 2019 (LinuxKit installed). This link https://www.testcontainers.org/supported_docker_environment/ mentions that LCOW is supported. Able to run a linux container without any issue from Docker CLI.

Facing issues only when tried to run a container from testcontainer.

Error logs as below:

2020-07-01 20:12:59.342 ERROR 4936 --- [           main] o.t.d.DockerClientProviderStrategy       : Could not find a valid Docker environment. Please check configuration. Attempted configurations were:
2020-07-01 20:12:59.342 ERROR 4936 --- [           main] o.t.d.DockerClientProviderStrategy       :     NpipeSocketClientProviderStrategy: failed with exception InvalidConfigurationException (ping failed). Root cause TimeoutException (null)
2020-07-01 20:12:59.342 ERROR 4936 --- [           main] o.t.d.DockerClientProviderStrategy       :     WindowsClientProviderStrategy: failed with exception TimeoutException (org.rnorth.ducttape.TimeoutException: java.util.concurrent.TimeoutException). Root cause TimeoutException (null)
2020-07-01 20:12:59.342 ERROR 4936 --- [           main] o.t.d.DockerClientProviderStrategy       : As no valid configuration was found, execution cannot continue

Docker Info as below:

Client: Debug Mode: false Plugins: cluster: Manage Docker clusters (Docker Inc., v1.2.0) Server: Containers: 4 Running: 1 Paused: 0 Stopped: 3 Images: 6 Server Version: 19.03.5 Storage Driver: windowsfilter (windows) lcow (linux) Windows: LCOW: Logging Driver: json-file Plugins: Volume: local Network: ics internal l2bridge l2tunnel nat null overlay private transparent Log: awslogs etwlogs fluentd gcplogs gelf json-file local logentries splunk syslog Swarm: inactive Default Isolation: process Kernel Version: 10.0 17763 (17763.1.amd64fre.rs5_release.180914-1434) Operating System: Windows Server 2019 Standard Version 1809 (OS Build 17763.1294) OSType: windows Architecture: x86_64 CPUs: 4 Total Memory: 16GiB Name: DHUBAS204 ID: ZWHK:7HAM:2IKC:YTDS:RD7L:P2V6:6ECL:A2I3:X6T2:2N33:3KSQ:ZX24 Docker Root Dir: C:\ProgramData\docker Debug Mode: true File Descriptors: -1 Goroutines: 31 System Time: 2020-07-01T14:00:30.2657542+10:00 EventsListeners: 0 Registry: https://index.docker.io/v1/ Labels: Experimental: true Insecure Registries: registry-1.docker.io 127.0.0.0/8 Registry Mirrors: Live Restore Enabled: false

About this issue

  • Original URL
  • State: open
  • Created 4 years ago
  • Comments: 23 (11 by maintainers)

Commits related to this issue

Most upvoted comments

From my experiments it doesnโ€™t work with windows-2016 either, though it fails with a different error:

java.lang.IllegalStateException: Could not find a valid Docker environment. Please see logs and check configuration

which looks like the same error like the one of @jonashackt in the linked commit above

@jonashackt we use Azure Pipelines for (Although we do plan to migrate to a self hosted GitHub Actions runner), see https://github.com/testcontainers/testcontainers-java/blob/master/azure-pipelines.yml

Hi @jonashackt! Good to โ€œseeโ€ you too ๐Ÿ˜ƒ

The problem with windows-latest is that it uses Windows Containers, not Linux containers. It means that Testcontainers itself works, but all the images that it starts are Linux-based and, in Windows Containers mode, they obviously fail to start ๐Ÿ˜ƒ

FYI we do have a Windows CI node running now. It runs Docker for Windows (in Linux mode) and we test every commit in our main branch before we cut a release ๐Ÿ˜ƒ

@ssureshraja when pasting stacktraces, please use triple backtick (```), so that it renders correctly.