testcontainers / testcontainers-java

Testcontainers is a Java library that supports JUnit tests, providing lightweight, throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container.
https://testcontainers.org
MIT License
8k stars 1.65k forks source link

How to configure Testcontainers to work with Colima as container runtime? #5034

Closed codingdiscer closed 2 years ago

codingdiscer commented 2 years ago

In the move away from paid Docker Desktop and towards alternatives, my organization has selected Colima as our official Docker engine for desktop development. After installing Colima via Homebrew on my mac, I'm able to run all my favorite docker commands as-is.

Colima sets up a new docker context, and sets itself as the active context:

> colima status
INFO[0000] colima is running
INFO[0000] runtime: docker
INFO[0000] arch: x86_64

> colima version
colima version 0.3.2
git commit: 272db4732b90390232ed9bdba955877f46a50552

runtime: docker
arch: x86_64
client: v20.10.11
server: v20.10.11

> docker context list
NAME        TYPE      DESCRIPTION                               DOCKER ENDPOINT
colima *    moby      colima                                    unix:///Users/ddowma/.colima/docker.sock
default     moby      Current DOCKER_HOST based configuration   unix:///var/run/docker.sock

As shown in the output above, there is still a default entry, and it points to unix:///var/run/docker.sock. However, I can see that no such file exists at that location:

> ls -l /var/run | grep 'docker.sock'
(empty output)

I noticed a problem when using Testcontainers 1.16.3 (and earlier versions) where Testcontainers can't find the "active" docker socket. Here are the logs when running a test case that tries to spin up a DockerComposeContainer with the scenario that I describe above:

13:53:27.547 [Test worker] INFO  o.s.t.c.s.DefaultTestContextBootstrapper - Loaded default TestExecutionListener class names from location [META-INF/spring.factories]: [org.spockframework.spring.SpringMockTestExecutionListener, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener, org.springframework.boot.test.autoconfigure.webservices.client.MockWebServiceServerTestExecutionListener, org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener, org.springframework.test.context.web.ServletTestExecutionListener, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener, org.springframework.test.context.event.ApplicationEventsTestExecutionListener, org.springframework.test.context.support.DependencyInjectionTestExecutionListener, org.springframework.test.context.support.DirtiesContextTestExecutionListener, org.springframework.test.context.transaction.TransactionalTestExecutionListener, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener, org.springframework.test.context.event.EventPublishingTestExecutionListener]
13:53:27.563 [Test worker] DEBUG o.s.t.c.s.DefaultTestContextBootstrapper - Skipping candidate TestExecutionListener [org.springframework.test.context.web.ServletTestExecutionListener] due to a missing dependency. Specify custom listener classes or make the default listener classes and their required dependencies available. Offending class: [javax/servlet/ServletContext]
13:53:27.577 [Test worker] INFO  o.s.t.c.s.DefaultTestContextBootstrapper - Using TestExecutionListeners: [org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener@3d3599dc, org.springframework.test.context.event.ApplicationEventsTestExecutionListener@3375c9fb, org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener@6a8ea39d, org.springframework.test.context.support.DependencyInjectionTestExecutionListener@71f8f1, org.springframework.test.context.support.DirtiesContextTestExecutionListener@111b6a5a, org.springframework.test.context.transaction.TransactionalTestExecutionListener@cbc4393, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener@13b18bd2, org.springframework.test.context.event.EventPublishingTestExecutionListener@1c084f25, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener@568bbf44, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener@3845dedd, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener@27353d1c, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener@791a2fb8, org.springframework.boot.test.autoconfigure.webservices.client.MockWebServiceServerTestExecutionListener@72e0ce40, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener@64c555f7, org.spockframework.spring.SpringMockTestExecutionListener@6a9659ae]
13:53:27.888 [Test worker] DEBUG o.t.c.ParsedDockerComposeFile - Resolved dependency image for Docker Compose in /Users/ddowma/git/engineering-enablement/cars-publisher/cars-publisher-spring/build/resources/test/compose-kafka-zk-sr.yml: wurstmeister/zookeeper
13:53:27.904 [Test worker] DEBUG o.t.c.ParsedDockerComposeFile - Resolved dependency image for Docker Compose in /Users/ddowma/git/engineering-enablement/cars-publisher/cars-publisher-spring/build/resources/test/compose-kafka-zk-sr.yml: wurstmeister/kafka
13:53:27.904 [Test worker] DEBUG o.t.c.ParsedDockerComposeFile - Resolved dependency image for Docker Compose in /Users/ddowma/git/engineering-enablement/cars-publisher/cars-publisher-spring/build/resources/test/compose-kafka-zk-sr.yml: confluentinc/cp-schema-registry:6.1.0
13:53:27.920 [Test worker] DEBUG o.t.u.TestcontainersConfiguration - Testcontainers configuration overrides will be loaded from file:/Users/ddowma/.testcontainers.properties
13:53:27.943 [Test worker] WARN  o.t.u.TestcontainersConfiguration - Attempted to read Testcontainers configuration file at file:/Users/ddowma/.testcontainers.properties but the file was not found. Exception message: FileNotFoundException: /Users/ddowma/.testcontainers.properties (No such file or directory)
13:53:27.955 [Test worker] DEBUG o.t.d.DockerClientProviderStrategy - Trying out strategy: UnixSocketClientProviderStrategy
13:53:27.957 [Test worker] DEBUG o.t.d.DockerClientProviderStrategy - UnixSocketClientProviderStrategy: failed with exception InvalidConfigurationException (Could not find unix domain socket). Root cause NoSuchFileException (/var/run/docker.sock)
13:53:27.960 [Test worker] INFO  o.t.d.DockerMachineClientProviderStrategy - docker-machine executable was not found on PATH ([/Users/ddowma/.sdkman/candidates/java/current/bin, /Users/ddowma/.sdkman/candidates/groovy/current/bin, /usr/local/bin, /usr/bin, /bin, /usr/sbin, /sbin])
13:53:27.961 [Test worker] ERROR o.t.d.DockerClientProviderStrategy - Could not find a valid Docker environment. Please check configuration. Attempted configurations were:
13:53:27.961 [Test worker] ERROR o.t.d.DockerClientProviderStrategy -     UnixSocketClientProviderStrategy: failed with exception InvalidConfigurationException (Could not find unix domain socket). Root cause NoSuchFileException (/var/run/docker.sock)
13:53:27.961 [Test worker] ERROR o.t.d.DockerClientProviderStrategy - As no valid configuration was found, execution cannot continue

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

I found a work-around that solves this problem, but it isn't a global solution. I have sudo rights on my workstation, so when I manually create a symlink from /var/run/docker.sock to /Users/ddowma/.colima/docker.sock, it works.

Thus, after running this command:

> sudo ln -s /Users/ddowma/.colima/docker.sock /var/run/docker.sock
Password:

> ls -l /var/run | grep 'docker.sock'
lrwxr-xr-x  1 root             daemon             33 Feb  8 14:00 docker.sock -> /Users/ddowma/.colima/docker.sock

Then my test case works fine. Here's the relevant output from the test case immediately after creating that symlink that shows the docker environment startup working as expected. I filtered some DEBUG statements that didn't add value, but left all the INFO statements in.

14:01:56.364 [Test worker] DEBUG o.t.c.ParsedDockerComposeFile - Resolved dependency image for Docker Compose in /Users/ddowma/git/engineering-enablement/cars-publisher/cars-publisher-spring/build/resources/test/compose-kafka-zk-sr.yml: wurstmeister/zookeeper
14:01:56.380 [Test worker] DEBUG o.t.c.ParsedDockerComposeFile - Resolved dependency image for Docker Compose in /Users/ddowma/git/engineering-enablement/cars-publisher/cars-publisher-spring/build/resources/test/compose-kafka-zk-sr.yml: wurstmeister/kafka
14:01:56.380 [Test worker] DEBUG o.t.c.ParsedDockerComposeFile - Resolved dependency image for Docker Compose in /Users/ddowma/git/engineering-enablement/cars-publisher/cars-publisher-spring/build/resources/test/compose-kafka-zk-sr.yml: confluentinc/cp-schema-registry:6.1.0
14:01:56.396 [Test worker] DEBUG o.t.u.TestcontainersConfiguration - Testcontainers configuration overrides will be loaded from file:/Users/ddowma/.testcontainers.properties
14:01:56.420 [Test worker] WARN  o.t.u.TestcontainersConfiguration - Attempted to read Testcontainers configuration file at file:/Users/ddowma/.testcontainers.properties but the file was not found. Exception message: FileNotFoundException: /Users/ddowma/.testcontainers.properties (No such file or directory)
14:01:56.433 [Test worker] DEBUG o.t.d.DockerClientProviderStrategy - Trying out strategy: UnixSocketClientProviderStrategy
14:01:56.894 [ducttape-0] DEBUG o.t.d.DockerClientProviderStrategy - Pinging docker daemon...
14:01:57.422 [Test worker] INFO  o.t.d.DockerClientProviderStrategy - Found Docker environment with local Unix socket (unix:///var/run/docker.sock)
14:01:57.422 [Test worker] DEBUG o.t.d.DockerClientProviderStrategy - Transport type: 'httpclient5', Docker host: 'unix:///var/run/docker.sock'
14:01:57.423 [Test worker] DEBUG o.t.d.DockerClientProviderStrategy - Checking Docker OS type for local Unix socket (unix:///var/run/docker.sock)
14:01:57.428 [Test worker] INFO  o.testcontainers.DockerClientFactory - Docker host IP address is localhost
14:01:57.470 [Test worker] INFO  o.testcontainers.DockerClientFactory - Connected to docker: 
  Server Version: 20.10.11
  API Version: 1.41
  Operating System: Alpine Linux v3.14
  Total Memory: 1988 MB
14:01:57.470 [Test worker] DEBUG o.testcontainers.DockerClientFactory - Ryuk is enabled
14:01:57.475 [Test worker] INFO  o.t.utility.ImageNameSubstitutor - Image name substitution will be performed by: DefaultImageNameSubstitutor (composite of 'ConfigurationFileImageNameSubstitutor' and 'PrefixingImageNameSubstitutor')
14:01:57.478 [Test worker] DEBUG o.t.u.PrefixingImageNameSubstitutor - No prefix is configured
14:01:57.478 [Test worker] DEBUG o.t.utility.ImageNameSubstitutor - Did not find a substitute image for testcontainers/ryuk:0.3.3 (using image substitutor: DefaultImageNameSubstitutor (composite of 'ConfigurationFileImageNameSubstitutor' and 'PrefixingImageNameSubstitutor'))
14:01:57.479 [Test worker] DEBUG o.t.s.c.g.d.c.command.AbstrDockerCmd - Cmd: testcontainers/ryuk:0.3.3
14:01:57.523 [Test worker] DEBUG o.t.utility.RegistryAuthLocator - Looking up auth config for image: testcontainers/ryuk:0.3.3 at registry: index.docker.io
14:01:57.523 [Test worker] DEBUG o.t.utility.RegistryAuthLocator - RegistryAuthLocator has configFile: /Users/ddowma/.docker/config.json (exists) and commandPathPrefix: 
14:01:57.524 [Test worker] DEBUG o.t.utility.RegistryAuthLocator - registryName [index.docker.io] for dockerImageName [testcontainers/ryuk:0.3.3]
14:01:57.525 [Test worker] DEBUG o.t.utility.RegistryAuthLocator - No matching Auth Configs - falling back to defaultAuthConfig [null]
14:01:57.525 [Test worker] DEBUG o.t.d.AuthDelegatingDockerClientConfig - Effective auth config [null]
14:01:57.538 [Test worker] DEBUG o.t.s.c.g.d.c.command.AbstrDockerCmd - Cmd: org.testcontainers.shaded.com.github.dockerjava.core.command.CreateContainerCmdImpl@1ea5f0de[name=testcontainers-ryuk-156612ea-886b-4884-a157-50e191f885a9,hostName=<null>,domainName=<null>,user=<null>,attachStdin=<null>,attachStdout=<null>,attachStderr=<null>,portSpecs=<null>,tty=<null>,stdinOpen=<null>,stdInOnce=<null>,env=<null>,cmd=<null>,healthcheck=<null>,argsEscaped=<null>,entrypoint=<null>,image=testcontainers/ryuk:0.3.3,volumes=Volumes(volumes=[]),workingDir=<null>,macAddress=<null>,onBuild=<null>,networkDisabled=<null>,exposedPorts=ExposedPorts(exposedPorts=[8080/tcp]),stopSignal=<null>,stopTimeout=<null>,hostConfig=HostConfig(binds=[/var/run/docker.sock:/var/run/docker.sock:rw], blkioWeight=null, blkioWeightDevice=null, blkioDeviceReadBps=null, blkioDeviceWriteBps=null, blkioDeviceReadIOps=null, blkioDeviceWriteIOps=null, memorySwappiness=null, nanoCPUs=null, capAdd=null, capDrop=null, containerIDFile=null, cpuPeriod=null, cpuRealtimePeriod=null, cpuRealtimeRuntime=null, cpuShares=null, cpuQuota=null, cpusetCpus=null, cpusetMems=null, devices=null, deviceCgroupRules=null, deviceRequests=null, diskQuota=null, dns=null, dnsOptions=null, dnsSearch=null, extraHosts=null, groupAdd=null, ipcMode=null, cgroup=null, links=[], logConfig=LogConfig(type=null, config=null), lxcConf=null, memory=null, memorySwap=null, memoryReservation=null, kernelMemory=null, networkMode=null, oomKillDisable=null, init=null, autoRemove=true, oomScoreAdj=null, portBindings={8080/tcp=[Lcom.github.dockerjava.api.model.Ports$Binding;@bfeaa61}, privileged=false, publishAllPorts=null, readonlyRootfs=null, restartPolicy=null, ulimits=null, cpuCount=null, cpuPercent=null, ioMaximumIOps=null, ioMaximumBandwidth=null, volumesFrom=null, mounts=null, pidMode=null, isolation=null, securityOpts=null, storageOpt=null, cgroupParent=null, volumeDriver=null, shmSize=null, pidsLimit=null, runtime=null, tmpFs=null, utSMode=null, usernsMode=null, sysctls=null, consoleSize=null),labels={org.testcontainers=true},shell=<null>,networkingConfig=<null>,ipv4Address=<null>,ipv6Address=<null>,aliases=<null>,authConfig=<null>,platform=<null>]
14:01:58.022 [Test worker] DEBUG o.t.s.c.g.d.c.e.InspectContainerCmdExec - GET: DefaultWebTarget{path=[/containers/3d81f73b9b4365657236d017aa32d0d4945e2c1eb0993d09e64e06e4591ab3d0/json], queryParams={}}
14:01:58.096 [testcontainers-ryuk] DEBUG o.t.utility.ResourceReaper - Sending 'label=org.testcontainers%3Dtrue&label=org.testcontainers.sessionId%3D156612ea-886b-4884-a157-50e191f885a9' to Ryuk
14:01:58.099 [testcontainers-ryuk] DEBUG o.t.utility.ResourceReaper - Received 'ACK' from Ryuk
14:01:58.101 [Test worker] INFO  o.testcontainers.DockerClientFactory - Ryuk started - will monitor and terminate Testcontainers containers on JVM exit
14:01:58.101 [Test worker] DEBUG o.testcontainers.DockerClientFactory - Checks are enabled
14:01:58.101 [Test worker] INFO  o.testcontainers.DockerClientFactory - Checking the system...
14:01:58.102 [Test worker] INFO  o.testcontainers.DockerClientFactory - ✔︎ Docker server version should be at least 1.6.0
14:01:58.230 [Test worker] INFO  o.testcontainers.DockerClientFactory - ✔︎ Docker environment should have more than 2GB free disk space
14:01:58.234 [testcontainers-ryuk] DEBUG o.t.utility.ResourceReaper - Sending 'label=com.docker.compose.project%3Dn9eh7nsc2dkm' to Ryuk
14:01:58.234 [Test worker] INFO  o.t.c.DockerComposeContainer - Preemptively checking local images for 'confluentinc/cp-schema-registry:6.1.0', referenced via a compose file or transitive Dockerfile. If not available, it will be pulled.
14:01:58.234 [Test worker] DEBUG o.t.s.c.g.d.c.command.AbstrDockerCmd - Cmd: confluentinc/cp-schema-registry:6.1.0
14:01:58.236 [testcontainers-ryuk] DEBUG o.t.utility.ResourceReaper - Received 'ACK' from Ryuk
14:01:58.239 [Test worker] INFO  o.t.c.DockerComposeContainer - Preemptively checking local images for 'wurstmeister/zookeeper:latest', referenced via a compose file or transitive Dockerfile. If not available, it will be pulled.
14:01:58.239 [Test worker] DEBUG o.t.s.c.g.d.c.command.AbstrDockerCmd - Cmd: wurstmeister/zookeeper:latest
14:01:58.243 [Test worker] INFO  o.t.c.DockerComposeContainer - Preemptively checking local images for 'wurstmeister/kafka:latest', referenced via a compose file or transitive Dockerfile. If not available, it will be pulled.
14:01:58.243 [Test worker] DEBUG o.t.s.c.g.d.c.command.AbstrDockerCmd - Cmd: wurstmeister/kafka:latest
14:01:58.254 [Test worker] DEBUG o.t.u.PrefixingImageNameSubstitutor - No prefix is configured
14:01:58.254 [Test worker] DEBUG o.t.utility.ImageNameSubstitutor - Did not find a substitute image for docker/compose:1.29.2 (using image substitutor: DefaultImageNameSubstitutor (composite of 'ConfigurationFileImageNameSubstitutor' and 'PrefixingImageNameSubstitutor'))
14:01:58.257 [Test worker] DEBUG o.t.s.c.g.d.c.command.AbstrDockerCmd - Cmd: ListImagesCmdImpl[imageNameFilter=<null>,showAll=false,filters=org.testcontainers.shaded.com.github.dockerjava.core.util.FiltersBuilder@0]
14:01:58.266 [Test worker] DEBUG o.t.images.AbstractImagePullPolicy - Using locally available and not pulling image: docker/compose:1.29.2
14:01:58.266 [Test worker] DEBUG 🐳 [docker/compose:1.29.2] - Set env COMPOSE_FILE=/Users/ddowma/git/engineering-enablement/cars-publisher/cars-publisher-spring/build/resources/test/compose-kafka-zk-sr.yml
14:01:58.269 [Test worker] DEBUG 🐳 [docker/compose:1.29.2] - Starting container: docker/compose:1.29.2
14:01:58.269 [Test worker] DEBUG 🐳 [docker/compose:1.29.2] - Trying to start container: docker/compose:1.29.2 (attempt 1/1)
14:01:58.269 [Test worker] DEBUG 🐳 [docker/compose:1.29.2] - Starting container: docker/compose:1.29.2
14:01:58.269 [Test worker] INFO  🐳 [docker/compose:1.29.2] - Creating container for image: docker/compose:1.29.2
14:01:59.036 [Test worker] INFO  🐳 [docker/compose:1.29.2] - Container docker/compose:1.29.2 is starting: 19d5b5146235a3528adabaed4837f43d4c18302b1261f8e3167ed74f49d5040c
14:02:02.180 [Test worker] DEBUG o.t.c.w.s.HostPortWaitStrategy - Liveness check ports of /great_albattani is empty. Not waiting.
14:02:02.180 [Test worker] INFO  🐳 [docker/compose:1.29.2] - Container docker/compose:1.29.2 started in PT3.911682S
14:02:02.184 [Test worker] INFO  🐳 [docker/compose:1.29.2] - Docker Compose container is running for command: up -d
14:02:02.188 [docker-java-stream--579305284] INFO  🐳 [docker/compose:1.29.2] - STDERR: The Docker Engine you're using is running in swarm mode.
14:02:02.188 [docker-java-stream--579305284] INFO  🐳 [docker/compose:1.29.2] - STDERR: 
14:02:02.188 [docker-java-stream--579305284] INFO  🐳 [docker/compose:1.29.2] - STDERR: Compose does not use swarm mode to deploy services to multiple nodes in a swarm. All containers will be scheduled on the current node.
14:02:02.189 [docker-java-stream--579305284] INFO  🐳 [docker/compose:1.29.2] - STDERR: 
14:02:02.189 [docker-java-stream--579305284] INFO  🐳 [docker/compose:1.29.2] - STDERR: To deploy your application across the swarm, use `docker stack deploy`.
14:02:02.189 [docker-java-stream--579305284] INFO  🐳 [docker/compose:1.29.2] - STDERR: 
14:02:02.189 [docker-java-stream--579305284] INFO  🐳 [docker/compose:1.29.2] - STDERR: Creating network "n9eh7nsc2dkm_default" with the default driver
14:02:02.189 [Test worker] INFO  🐳 [docker/compose:1.29.2] - Docker Compose has finished running
14:02:02.189 [docker-java-stream--579305284] INFO  🐳 [docker/compose:1.29.2] - STDERR: Creating n9eh7nsc2dkm_zookeeper_1 ... 
14:02:02.189 [docker-java-stream--579305284] INFO  🐳 [docker/compose:1.29.2] - STDERR: Creating n9eh7nsc2dkm_zookeeper_1 ... done
14:02:02.190 [docker-java-stream--579305284] INFO  🐳 [docker/compose:1.29.2] - STDERR: Creating n9eh7nsc2dkm_schemaregistry_1 ... 
14:02:02.190 [docker-java-stream--579305284] INFO  🐳 [docker/compose:1.29.2] - STDERR: Creating n9eh7nsc2dkm_kafka_1          ... 
14:02:02.190 [docker-java-stream--579305284] INFO  🐳 [docker/compose:1.29.2] - STDERR: Creating n9eh7nsc2dkm_kafka_1          ... done
14:02:02.190 [docker-java-stream--579305284] INFO  🐳 [docker/compose:1.29.2] - STDERR: Creating n9eh7nsc2dkm_schemaregistry_1 ... done

What I glean from this exercise is that Testcontainers is taking the default docker context (or maybe not checking at all), and isn't looking at the active context. If my assessment of the problem is correct, can that situation be addressed?

gesellix commented 2 years ago

Have you tried by using the DOCKER_HOST environment variable, like below, and run Testcontainers with that environment?

export DOCKER_HOST=unix:///Users/ddowma/.colima/docker.sock

The Testcontainers docs show some other options to configure the Docker Host.

codingdiscer commented 2 years ago

Yes, I have tried that as well, and I get a different error that I can't comprehend.

With this:

export DOCKER_HOST=unix:///Users/ddowma/.colima/docker.sock

and with this:

export DOCKER_HOST=unix:///Users/ddowma/.colima/docker.sock
export TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE=/Users/ddowma/.colima/docker.sock

With either of the above options, I get the same result:

15:16:56.120 [Test worker] DEBUG o.t.c.ParsedDockerComposeFile - Resolved dependency image for Docker Compose in /Users/ddowma/git/engineering-enablement/cars-publisher/cars-publisher-spring/build/resources/test/compose-kafka-zk-sr.yml: wurstmeister/zookeeper
15:16:56.133 [Test worker] DEBUG o.t.c.ParsedDockerComposeFile - Resolved dependency image for Docker Compose in /Users/ddowma/git/engineering-enablement/cars-publisher/cars-publisher-spring/build/resources/test/compose-kafka-zk-sr.yml: wurstmeister/kafka
15:16:56.134 [Test worker] DEBUG o.t.c.ParsedDockerComposeFile - Resolved dependency image for Docker Compose in /Users/ddowma/git/engineering-enablement/cars-publisher/cars-publisher-spring/build/resources/test/compose-kafka-zk-sr.yml: confluentinc/cp-schema-registry:6.1.0
15:16:56.148 [Test worker] DEBUG o.t.u.TestcontainersConfiguration - Testcontainers configuration overrides will be loaded from file:/Users/ddowma/.testcontainers.properties
15:16:56.160 [Test worker] INFO  o.t.d.DockerClientProviderStrategy - Loaded org.testcontainers.dockerclient.UnixSocketClientProviderStrategy from ~/.testcontainers.properties, will try it first
15:16:56.162 [Test worker] DEBUG o.t.d.DockerClientProviderStrategy - Trying out strategy: EnvironmentAndSystemPropertyClientProviderStrategy
15:16:56.608 [ducttape-0] DEBUG o.t.d.DockerClientProviderStrategy - Pinging docker daemon...
15:16:56.633 [ducttape-0] DEBUG o.t.s.c.g.d.c.command.AbstrDockerCmd - Cmd: 
15:16:57.131 [Test worker] INFO  o.t.d.DockerClientProviderStrategy - Found Docker environment with Environment variables, system properties and defaults. Resolved dockerHost=unix:///Users/ddowma/.colima/docker.sock
15:16:57.131 [Test worker] DEBUG o.t.d.DockerClientProviderStrategy - Transport type: 'httpclient5', Docker host: 'unix:///Users/ddowma/.colima/docker.sock'
15:16:57.131 [Test worker] DEBUG o.t.d.DockerClientProviderStrategy - Checking Docker OS type for Environment variables, system properties and defaults. Resolved dockerHost=unix:///Users/ddowma/.colima/docker.sock
15:16:57.132 [Test worker] INFO  o.testcontainers.DockerClientFactory - Docker host IP address is localhost
15:16:57.133 [Test worker] DEBUG o.t.s.c.g.d.c.command.AbstrDockerCmd - Cmd: 
15:16:57.149 [Test worker] DEBUG o.t.s.c.g.d.c.command.AbstrDockerCmd - Cmd: 
15:16:57.173 [Test worker] INFO  o.testcontainers.DockerClientFactory - Connected to docker: 
  Server Version: 20.10.11
  API Version: 1.41
  Operating System: Alpine Linux v3.14
  Total Memory: 1988 MB
15:16:57.173 [Test worker] DEBUG o.testcontainers.DockerClientFactory - Ryuk is enabled
15:16:57.178 [Test worker] INFO  o.t.utility.ImageNameSubstitutor - Image name substitution will be performed by: DefaultImageNameSubstitutor (composite of 'ConfigurationFileImageNameSubstitutor' and 'PrefixingImageNameSubstitutor')
15:16:57.180 [Test worker] DEBUG o.t.u.PrefixingImageNameSubstitutor - No prefix is configured
15:16:57.180 [Test worker] DEBUG o.t.utility.ImageNameSubstitutor - Did not find a substitute image for testcontainers/ryuk:0.3.3 (using image substitutor: DefaultImageNameSubstitutor (composite of 'ConfigurationFileImageNameSubstitutor' and 'PrefixingImageNameSubstitutor'))
15:16:57.181 [Test worker] DEBUG o.t.s.c.g.d.c.command.AbstrDockerCmd - Cmd: testcontainers/ryuk:0.3.3
15:16:57.228 [Test worker] DEBUG o.t.utility.RegistryAuthLocator - Looking up auth config for image: testcontainers/ryuk:0.3.3 at registry: index.docker.io
15:16:57.229 [Test worker] DEBUG o.t.utility.RegistryAuthLocator - RegistryAuthLocator has configFile: /Users/ddowma/.docker/config.json (exists) and commandPathPrefix: 
15:16:57.229 [Test worker] DEBUG o.t.utility.RegistryAuthLocator - registryName [index.docker.io] for dockerImageName [testcontainers/ryuk:0.3.3]
15:16:57.230 [Test worker] DEBUG o.t.utility.RegistryAuthLocator - No matching Auth Configs - falling back to defaultAuthConfig [null]
15:16:57.230 [Test worker] DEBUG o.t.d.AuthDelegatingDockerClientConfig - Effective auth config [null]
15:16:57.245 [Test worker] DEBUG o.t.s.c.g.d.c.command.AbstrDockerCmd - Cmd: org.testcontainers.shaded.com.github.dockerjava.core.command.CreateContainerCmdImpl@3c35d2f[name=testcontainers-ryuk-efedf1ec-fe45-49e8-a33d-ab00cd606edc,hostName=<null>,domainName=<null>,user=<null>,attachStdin=<null>,attachStdout=<null>,attachStderr=<null>,portSpecs=<null>,tty=<null>,stdinOpen=<null>,stdInOnce=<null>,env=<null>,cmd=<null>,healthcheck=<null>,argsEscaped=<null>,entrypoint=<null>,image=testcontainers/ryuk:0.3.3,volumes=Volumes(volumes=[]),workingDir=<null>,macAddress=<null>,onBuild=<null>,networkDisabled=<null>,exposedPorts=ExposedPorts(exposedPorts=[8080/tcp]),stopSignal=<null>,stopTimeout=<null>,hostConfig=HostConfig(binds=[/Users/ddowma/.colima/docker.sock:/var/run/docker.sock:rw], blkioWeight=null, blkioWeightDevice=null, blkioDeviceReadBps=null, blkioDeviceWriteBps=null, blkioDeviceReadIOps=null, blkioDeviceWriteIOps=null, memorySwappiness=null, nanoCPUs=null, capAdd=null, capDrop=null, containerIDFile=null, cpuPeriod=null, cpuRealtimePeriod=null, cpuRealtimeRuntime=null, cpuShares=null, cpuQuota=null, cpusetCpus=null, cpusetMems=null, devices=null, deviceCgroupRules=null, deviceRequests=null, diskQuota=null, dns=null, dnsOptions=null, dnsSearch=null, extraHosts=null, groupAdd=null, ipcMode=null, cgroup=null, links=[], logConfig=LogConfig(type=null, config=null), lxcConf=null, memory=null, memorySwap=null, memoryReservation=null, kernelMemory=null, networkMode=null, oomKillDisable=null, init=null, autoRemove=true, oomScoreAdj=null, portBindings={8080/tcp=[Lcom.github.dockerjava.api.model.Ports$Binding;@65ced40}, privileged=false, publishAllPorts=null, readonlyRootfs=null, restartPolicy=null, ulimits=null, cpuCount=null, cpuPercent=null, ioMaximumIOps=null, ioMaximumBandwidth=null, volumesFrom=null, mounts=null, pidMode=null, isolation=null, securityOpts=null, storageOpt=null, cgroupParent=null, volumeDriver=null, shmSize=null, pidsLimit=null, runtime=null, tmpFs=null, utSMode=null, usernsMode=null, sysctls=null, consoleSize=null),labels={org.testcontainers=true},shell=<null>,networkingConfig=<null>,ipv4Address=<null>,ipv6Address=<null>,aliases=<null>,authConfig=<null>,platform=<null>]
15:16:57.344 [Test worker] DEBUG o.t.s.c.g.d.c.command.AbstrDockerCmd - Cmd: 4ef3e2a511d1dc278db958db8a44d755f51c3bc16aaac66ae8aeca3194eec5df
15:16:57.704 [Test worker] DEBUG o.t.s.c.g.d.c.command.AbstrDockerCmd - Cmd: 4ef3e2a511d1dc278db958db8a44d755f51c3bc16aaac66ae8aeca3194eec5df,false
15:16:57.705 [Test worker] DEBUG o.t.s.c.g.d.c.e.InspectContainerCmdExec - GET: DefaultWebTarget{path=[/containers/4ef3e2a511d1dc278db958db8a44d755f51c3bc16aaac66ae8aeca3194eec5df/json], queryParams={}}
15:16:57.947 [Test worker] DEBUG o.t.s.c.g.d.c.command.AbstrDockerCmd - Cmd: 4ef3e2a511d1dc278db958db8a44d755f51c3bc16aaac66ae8aeca3194eec5df,false
15:16:57.947 [Test worker] DEBUG o.t.s.c.g.d.c.e.InspectContainerCmdExec - GET: DefaultWebTarget{path=[/containers/4ef3e2a511d1dc278db958db8a44d755f51c3bc16aaac66ae8aeca3194eec5df/json], queryParams={}}
15:16:57.954 [Test worker] WARN  o.t.utility.ResourceReaper - Ryuk container cannot be inspected and probably had a problem starting. Ryuk's logs:
2022/02/08 21:16:55 Pinging Docker...
panic: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

goroutine 1 [running]:
main.main()
    /go/src/github.com/testcontainers/moby-ryuk/main.go:36 +0x457

Thus, using the environment variable that you suggest changes the game a bit, but there's still a missing connection.

The article you linked then also links to a full suite of other DOCKER_{} variables. I've tried various combos of those with no success. I'm willing to try other combos of environment overrides if you have any suggestions that you think might work.

codingdiscer commented 2 years ago

Just in case this additional info is useful, here are the details when i inspect the two docker contexts that are registered on my workstation.

> docker context inspect colima
[
    {
        "Name": "colima",
        "Metadata": {
            "Description": "colima",
            "StackOrchestrator": "swarm"
        },
        "Endpoints": {
            "docker": {
                "Host": "unix:///Users/ddowma/.colima/docker.sock",
                "SkipTLSVerify": false
            }
        },
        "TLSMaterial": {},
        "Storage": {
            "MetadataPath": "/Users/ddowma/.docker/contexts/meta/f24fd3749c1368328e2b149bec149cb6795619f244c5b584e844961215dadd16",
            "TLSPath": "/Users/ddowma/.docker/contexts/tls/f24fd3749c1368328e2b149bec149cb6795619f244c5b584e844961215dadd16"
        }
    }
]

> docker context inspect default
[
    {
        "Name": "default",
        "Metadata": {
            "StackOrchestrator": "swarm"
        },
        "Endpoints": {
            "docker": {
                "Host": "unix:///var/run/docker.sock",
                "SkipTLSVerify": false
            },
            "kubernetes": {
                "Host": "https://g-aks-2n-api-platform-01-d1d0d5d4.privatelink.eastus.azmk8s.io:443",
                "SkipTLSVerify": false,
                "DefaultNamespace": "default",
                "AuthProvider": {
                    "name": "azure",
                    "config": {
                        "access-token": "{redacted}",
                        "apiserver-id": "6dae42f8-4368-4678-94ff-3960e28e3630",
                        "client-id": "80faf920-1908-4b52-b5ef-a8e7bedfc67a",
                        "config-mode": "1",
                        "environment": "AzurePublicCloud",
                        "expires-in": "5370",
                        "expires-on": "1642726412",
                        "refresh-token": "{redacted}",
                        "tenant-id": "348a1296-55b6-466e-a7af-4ad1a1b79713"
                    }
                }
            }
        },
        "TLSMaterial": {
            "kubernetes": [
                "ca.pem"
            ]
        },
        "Storage": {
            "MetadataPath": "\u003cIN MEMORY\u003e",
            "TLSPath": "\u003cIN MEMORY\u003e"
        }
    }
]
kiview commented 2 years ago

@codingdiscer The Testcontainers logs you shared would indicate, that

export TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE=/Users/ddowma/.colima/docker.sock

is not in effect.

We can see it from this line:

15:16:57.954 [Test worker] WARN  o.t.utility.ResourceReaper - Ryuk container cannot be inspected and probably had a problem starting. Ryuk's logs:
2022/02/08 21:16:55 Pinging Docker...
panic: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

We had configured a conceptually similar setup on WSL yesterday and it worked: https://github.com/testcontainers/testcontainers-java/issues/4958#issuecomment-1032807023

Currently, I can only think of a typo or maybe having the environment variable set in another session, can you please double-check?

codingdiscer commented 2 years ago

After a couple of adjustments, I get a new error message. I also found that I had been previously suppressing the debug logs for a particularly chatty package (c.g.d.z.s.o.a.h.client5.http), so that is now enabled here as well with some interesting info.

I also added these (groovy) info statements to show the JVM was able to read the environment variables.

log.info "System.getenv('TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE')=${System.getenv("TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE")}"
log.info "System.getenv('DOCKER_HOST')=${System.getenv("DOCKER_HOST")}"
08:47:02.999 [Test worker] INFO  c.g.e.s.ApacheClientCarServiceSpec - System.getenv('TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE')=/Users/ddowma/.colima/docker.sock
08:47:02.999 [Test worker] INFO  c.g.e.s.ApacheClientCarServiceSpec - System.getenv('DOCKER_HOST')=unix:///Users/ddowma/.colima/docker.sock
08:47:03.179 [Test worker] DEBUG o.t.c.ParsedDockerComposeFile - Resolved dependency image for Docker Compose in /Users/ddowma/git/engineering-enablement/cars-publisher/cars-publisher-spring/build/resources/test/compose-kafka-zk-sr.yml: wurstmeister/zookeeper
08:47:03.199 [Test worker] DEBUG o.t.c.ParsedDockerComposeFile - Resolved dependency image for Docker Compose in /Users/ddowma/git/engineering-enablement/cars-publisher/cars-publisher-spring/build/resources/test/compose-kafka-zk-sr.yml: wurstmeister/kafka
08:47:03.199 [Test worker] DEBUG o.t.c.ParsedDockerComposeFile - Resolved dependency image for Docker Compose in /Users/ddowma/git/engineering-enablement/cars-publisher/cars-publisher-spring/build/resources/test/compose-kafka-zk-sr.yml: confluentinc/cp-schema-registry:6.1.0
08:47:03.216 [Test worker] DEBUG o.t.u.TestcontainersConfiguration - Testcontainers configuration overrides will be loaded from file:/Users/ddowma/.testcontainers.properties
08:47:03.228 [Test worker] INFO  o.t.d.DockerClientProviderStrategy - Loaded org.testcontainers.dockerclient.UnixSocketClientProviderStrategy from ~/.testcontainers.properties, will try it first
08:47:03.229 [Test worker] DEBUG o.t.d.DockerClientProviderStrategy - Trying out strategy: EnvironmentAndSystemPropertyClientProviderStrategy
08:47:03.714 [ducttape-0] DEBUG o.t.d.DockerClientProviderStrategy - Pinging docker daemon...
08:47:03.744 [ducttape-0] DEBUG o.t.s.c.g.d.c.command.AbstrDockerCmd - Cmd: 
08:47:03.788 [ducttape-0] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ex-00000001: preparing request execution
08:47:03.796 [ducttape-0] DEBUG c.g.d.z.s.o.a.h.c.h.p.RequestAddCookies - Cookie spec selected: strict
08:47:03.804 [ducttape-0] DEBUG c.g.d.z.s.o.a.h.c.h.p.RequestAuthCache - Auth cache not set in the context
08:47:03.804 [ducttape-0] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.ProtocolExec - ex-00000001: target auth state: UNCHALLENGED
08:47:03.805 [ducttape-0] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.ProtocolExec - ex-00000001: proxy auth state: UNCHALLENGED
08:47:03.806 [ducttape-0] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.ConnectExec - ex-00000001: acquiring connection with route {}->unix://localhost:2375
08:47:03.806 [ducttape-0] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ex-00000001: acquiring endpoint (3 MINUTES)
08:47:03.808 [ducttape-0] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ex-00000001: endpoint lease request (3 MINUTES) [route: {}->unix://localhost:2375][total available: 0; route allocated: 0 of 2147483647; total allocated: 0 of 2147483647]
08:47:03.815 [ducttape-0] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ex-00000001: endpoint leased [route: {}->unix://localhost:2375][total available: 0; route allocated: 1 of 2147483647; total allocated: 1 of 2147483647]
08:47:03.834 [ducttape-0] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ex-00000001: acquired ep-00000000
08:47:03.835 [ducttape-0] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ex-00000001: acquired endpoint ep-00000000
08:47:03.835 [ducttape-0] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.ConnectExec - ex-00000001: opening connection {}->unix://localhost:2375
08:47:03.836 [ducttape-0] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ep-00000000: connecting endpoint (3 MINUTES)
08:47:03.836 [ducttape-0] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ep-00000000: connecting endpoint to unix://localhost:2375 (3 MINUTES)
08:47:04.404 [ducttape-0] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.DefaultHttpClientConnectionOperator - http-outgoing-0: connecting to localhost/127.0.0.1:2375
08:47:04.405 [ducttape-0] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.DefaultHttpClientConnectionOperator - http-outgoing-0: connection established 
08:47:04.405 [ducttape-0] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ep-00000000: connected http-outgoing-0
08:47:04.405 [ducttape-0] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ep-00000000: endpoint connected
08:47:04.406 [ducttape-0] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.MainClientExec - ex-00000001: executing GET /v1.32/info HTTP/1.1
08:47:04.406 [ducttape-0] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ep-00000000: start execution ex-00000001
08:47:04.407 [ducttape-0] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ep-00000000: executing exchange ex-00000001 over http-outgoing-0
08:47:04.407 [ducttape-0] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 >> GET /v1.32/info HTTP/1.1
08:47:04.407 [ducttape-0] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 >> Accept-Encoding: gzip, x-gzip, deflate
08:47:04.407 [ducttape-0] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 >> Host: localhost:2375
08:47:04.408 [ducttape-0] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 >> Connection: keep-alive
08:47:04.408 [ducttape-0] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 >> User-Agent: Apache-HttpClient/5.0.3 (Java/11.0.11)
08:47:04.408 [ducttape-0] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "GET /v1.32/info HTTP/1.1[\r][\n]"
08:47:04.408 [ducttape-0] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "Accept-Encoding: gzip, x-gzip, deflate[\r][\n]"
08:47:04.408 [ducttape-0] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "Host: localhost:2375[\r][\n]"
08:47:04.408 [ducttape-0] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "Connection: keep-alive[\r][\n]"
08:47:04.408 [ducttape-0] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "User-Agent: Apache-HttpClient/5.0.3 (Java/11.0.11)[\r][\n]"
08:47:04.408 [ducttape-0] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "[\r][\n]"
08:47:04.421 [ducttape-0] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "HTTP/1.1 200 OK[\r][\n]"
08:47:04.421 [ducttape-0] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "Api-Version: 1.41[\r][\n]"
08:47:04.421 [ducttape-0] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "Content-Type: application/json[\r][\n]"
08:47:04.421 [ducttape-0] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "Docker-Experimental: false[\r][\n]"
08:47:04.421 [ducttape-0] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "Ostype: linux[\r][\n]"
08:47:04.421 [ducttape-0] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "Server: Docker/20.10.11 (linux)[\r][\n]"
08:47:04.421 [ducttape-0] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "Date: Wed, 09 Feb 2022 14:47:02 GMT[\r][\n]"
08:47:04.422 [ducttape-0] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "Transfer-Encoding: chunked[\r][\n]"
08:47:04.422 [ducttape-0] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "[\r][\n]"
08:47:04.422 [ducttape-0] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "efc[\r][\n]"
08:47:04.422 [ducttape-0] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "{"ID":"T5XM:GMKU:7ZKL:NLDL:PQ7O:7EXQ:UMFX:3GUE:QIFS:VNX7:VPID:24AM","Containers":3,"ContainersRunning":0,"ContainersPaused":0,"ContainersStopped":3,"Images":7,"Driver":"overlay2","DriverStatus":[["Backing Filesystem","extfs"],["Supports d_type","true"],["Native Overlay Diff","true"],["userxattr","false"]],"Plugins":{"Volume":["local"],"Network":["bridge","host","ipvlan","macvlan","null","overlay"],"Authorization":null,"Log":["awslogs","fluentd","gcplogs","gelf","journald","json-file","local","logentries","splunk","syslog"]},"MemoryLimit":true,"SwapLimit":true,"KernelMemory":true,"KernelMemoryTCP":true,"CpuCfsPeriod":true,"CpuCfsQuota":true,"CPUShares":true,"CPUSet":true,"PidsLimit":true,"IPv4Forwarding":true,"BridgeNfIptables":true,"BridgeNfIp6tables":true,"Debug":false,"NFd":38,"OomKillDisable":true,"NGoroutines":153,"SystemTime":"2022-02-09T14:47:02.797430119Z","LoggingDriver":"json-file","CgroupDriver":"cgroupfs","CgroupVersion":"1","NEventsListener":0,"KernelVersion":"5.10.88-0-virt","OperatingSystem":"Alpine Linux v3.14","OSVersion":"3.14.3","OSType":"linux","Architecture":"x86_64","IndexServerAddress":"https://index.docker.io/v1/","RegistryConfig":{"AllowNondistributableArtifactsCIDRs":[],"AllowNondistributableArtifactsHostnames":[],"InsecureRegistryCIDRs":["127.0.0.0/8"],"IndexConfigs":{"docker.io":{"Name":"docker.io","Mirrors":[],"Secure":true,"Official":true}},"Mirrors":[]},"NCPU":2,"MemTotal":2085105664,"GenericResources":null,"DockerRootDir":"/var/lib/docker","HttpProxy":"","HttpsProxy":"","NoProxy":"","Name":"colima","Labels":[],"ExperimentalBuild":false,"ServerVersion":"20.10.11","Runtimes":{"io.containerd.runc.v2":{"path":"runc"},"io.containerd.runtime.v1.linux":{"path":"runc"},"runc":{"path":"runc"}},"DefaultRuntime":"runc","Swarm":{"NodeID":"gur41n0c4vll8z42wetspwok1","NodeAddr":"192.168.5.15","LocalNodeState":"active","ControlAvailable":true,"Error":"","RemoteManagers":[{"NodeID":"gur41n0c4vll8z42wetspwok1","Addr":"192.168.5.15:2377"}],"Nodes":1,"Managers":1,"Cluster":{"ID":"ic20gvgtimgxmv4kvfj8sxjh5","Version":{"Index":51},"CreatedAt":"2022-01-18T22:10:46.713234545Z","UpdatedAt":"2022-02-09T12:24:40.030161Z","Spec":{"Name":"default","Labels":{},"Orchestration":{"TaskHistoryRetentionLimit":5},"Raft":{"SnapshotInterval":10000,"KeepOldSnapshots":0,"LogEntriesForSlowFollowers":500,"ElectionTick":10,"HeartbeatTick":1},"Dispatcher":{"HeartbeatPeriod":5000000000},"CAConfig":{"NodeCertExpiry":7776000000000000},"TaskDefaults":{},"EncryptionConfig":{"AutoLockManagers":false}},"TLSInfo":{"TrustRoot":"-----BEGIN CERTIFICATE-----\nMIIBazCCARCgAwIBAgIUOdinq37MuuxNdI0WyTJb/0yg99AwCgYIKoZIzj0EAwIw\nEzERMA8GA1UEAxMIc3dhcm0tY2EwHhcNMjIwMTE4MjIwNjAwWhcNNDIwMTEzMjIw\nNjAwWjATMREwDwYDVQQDEwhzd2FybS1jYTBZMBMGByqGSM49AgEGCCqGSM49AwEH\nA0IABHHgWtzjwgHx205BNkF+I24T3q0ULRvn6YKKWA3h0Zd2vSmeD22qZswQahIs\nu1BBkHqZMQDOqjlq3G37Msmn2pOjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMB\nAf8EBTADAQH/MB0GA1UdDgQWBBQErzymsboc3EtkXwH1q9CAv0fqyDAKBggqhkjO\nPQQDAgNJADBGAiEA4kswCzy9lEDMMw1BhMAHf4xDcrnuPctJ07RjaY2db4ICIQCE\nDfPhSLNx7cnvuvUZsBgE2UkTI4k/z+MmgSlBqhDC/g==\n-----END CERTIFICATE-----\n","CertIssuerSubject":"MBMxETAPBgNVBAMTCHN3YXJtLWNh","CertIssuerPublicKey":"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEceBa3OPCAfHbTkE2QX4jbhPerRQtG+fpgopYDeHRl3a9KZ4PbapmzBBqEiy7UEGQepkxAM6qOWrcbfsyyafakw=="},"RootRotationInProgress":false,"DefaultAddrPool":["10.0.0.0/8"],"SubnetSize":24,"DataPathPort":4789}},"LiveRestoreEnabled":false,"Isolation":"","InitBinary":"docker-init","ContainerdCommit":{"ID":"1e5ef943eb76627a6d3b6de8cd1ef6537f393a71","Expected":"1e5ef943eb76627a6d3b6de8cd1ef6537f393a71"},"RuncCommit":{"ID":"b9ee9c6314599f1b4a7f497e1f1f856fe433d3b7","Expected":"b9ee9c6314599f1b4a7f497e1f1f856fe433d3b7"},"InitCommit":{"ID":"","Expected":""},"SecurityOptions":["name=seccomp,profile=default"],"Warnings":null}[\n]"
08:47:04.422 [ducttape-0] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "[\r][\n]"
08:47:04.423 [ducttape-0] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "0[\r][\n]"
08:47:04.423 [ducttape-0] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "[\r][\n]"
08:47:04.426 [ducttape-0] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << HTTP/1.1 200 OK
08:47:04.426 [ducttape-0] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << Api-Version: 1.41
08:47:04.426 [ducttape-0] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << Content-Type: application/json
08:47:04.426 [ducttape-0] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << Docker-Experimental: false
08:47:04.426 [ducttape-0] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << Ostype: linux
08:47:04.426 [ducttape-0] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << Server: Docker/20.10.11 (linux)
08:47:04.426 [ducttape-0] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << Date: Wed, 09 Feb 2022 14:47:02 GMT
08:47:04.427 [ducttape-0] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << Transfer-Encoding: chunked
08:47:04.433 [ducttape-0] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.MainClientExec - ex-00000001: connection can be kept alive for 3 MINUTES
08:47:04.603 [ducttape-0] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ep-00000000: releasing valid endpoint
08:47:04.603 [ducttape-0] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ep-00000000: releasing endpoint
08:47:04.603 [ducttape-0] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ep-00000000: connection http-outgoing-0 can be kept alive for 3 MINUTES
08:47:04.604 [ducttape-0] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ep-00000000: connection released [route: {}->unix://localhost:2375][total available: 1; route allocated: 1 of 2147483647; total allocated: 1 of 2147483647]
08:47:04.605 [Test worker] INFO  o.t.d.DockerClientProviderStrategy - Found Docker environment with Environment variables, system properties and defaults. Resolved dockerHost=unix:///Users/ddowma/.colima/docker.sock
08:47:04.606 [Test worker] DEBUG o.t.d.DockerClientProviderStrategy - Transport type: 'httpclient5', Docker host: 'unix:///Users/ddowma/.colima/docker.sock'
08:47:04.606 [Test worker] DEBUG o.t.d.DockerClientProviderStrategy - Checking Docker OS type for Environment variables, system properties and defaults. Resolved dockerHost=unix:///Users/ddowma/.colima/docker.sock
08:47:04.607 [Test worker] INFO  o.testcontainers.DockerClientFactory - Docker host IP address is localhost
08:47:04.608 [Test worker] DEBUG o.t.s.c.g.d.c.command.AbstrDockerCmd - Cmd: 
08:47:04.608 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ex-00000002: preparing request execution
08:47:04.608 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.p.RequestAddCookies - Cookie spec selected: strict
08:47:04.608 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.p.RequestAuthCache - Auth cache not set in the context
08:47:04.608 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.ProtocolExec - ex-00000002: target auth state: UNCHALLENGED
08:47:04.608 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.ProtocolExec - ex-00000002: proxy auth state: UNCHALLENGED
08:47:04.609 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.ConnectExec - ex-00000002: acquiring connection with route {}->unix://localhost:2375
08:47:04.609 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ex-00000002: acquiring endpoint (3 MINUTES)
08:47:04.609 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ex-00000002: endpoint lease request (3 MINUTES) [route: {}->unix://localhost:2375][total available: 1; route allocated: 1 of 2147483647; total allocated: 1 of 2147483647]
08:47:04.609 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ex-00000002: endpoint leased [route: {}->unix://localhost:2375][total available: 0; route allocated: 1 of 2147483647; total allocated: 1 of 2147483647]
08:47:04.610 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ex-00000002: acquired ep-00000001
08:47:04.611 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ex-00000002: acquired endpoint ep-00000001
08:47:04.611 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.MainClientExec - ex-00000002: executing GET /v1.32/info HTTP/1.1
08:47:04.611 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ep-00000001: start execution ex-00000002
08:47:04.611 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ep-00000001: executing exchange ex-00000002 over http-outgoing-0
08:47:04.611 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 >> GET /v1.32/info HTTP/1.1
08:47:04.612 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 >> Accept-Encoding: gzip, x-gzip, deflate
08:47:04.612 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 >> Host: localhost:2375
08:47:04.612 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 >> Connection: keep-alive
08:47:04.612 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 >> User-Agent: Apache-HttpClient/5.0.3 (Java/11.0.11)
08:47:04.612 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "GET /v1.32/info HTTP/1.1[\r][\n]"
08:47:04.613 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "Accept-Encoding: gzip, x-gzip, deflate[\r][\n]"
08:47:04.613 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "Host: localhost:2375[\r][\n]"
08:47:04.613 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "Connection: keep-alive[\r][\n]"
08:47:04.613 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "User-Agent: Apache-HttpClient/5.0.3 (Java/11.0.11)[\r][\n]"
08:47:04.613 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "[\r][\n]"
08:47:04.628 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "HTTP/1.1 200 OK[\r][\n]"
08:47:04.628 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "Api-Version: 1.41[\r][\n]"
08:47:04.628 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "Content-Type: application/json[\r][\n]"
08:47:04.628 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "Docker-Experimental: false[\r][\n]"
08:47:04.628 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "Ostype: linux[\r][\n]"
08:47:04.629 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "Server: Docker/20.10.11 (linux)[\r][\n]"
08:47:04.629 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "Date: Wed, 09 Feb 2022 14:47:03 GMT[\r][\n]"
08:47:04.629 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "Transfer-Encoding: chunked[\r][\n]"
08:47:04.629 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "[\r][\n]"
08:47:04.629 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "efc[\r][\n]"
08:47:04.629 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "{"ID":"T5XM:GMKU:7ZKL:NLDL:PQ7O:7EXQ:UMFX:3GUE:QIFS:VNX7:VPID:24AM","Containers":3,"ContainersRunning":0,"ContainersPaused":0,"ContainersStopped":3,"Images":7,"Driver":"overlay2","DriverStatus":[["Backing Filesystem","extfs"],["Supports d_type","true"],["Native Overlay Diff","true"],["userxattr","false"]],"Plugins":{"Volume":["local"],"Network":["bridge","host","ipvlan","macvlan","null","overlay"],"Authorization":null,"Log":["awslogs","fluentd","gcplogs","gelf","journald","json-file","local","logentries","splunk","syslog"]},"MemoryLimit":true,"SwapLimit":true,"KernelMemory":true,"KernelMemoryTCP":true,"CpuCfsPeriod":true,"CpuCfsQuota":true,"CPUShares":true,"CPUSet":true,"PidsLimit":true,"IPv4Forwarding":true,"BridgeNfIptables":true,"BridgeNfIp6tables":true,"Debug":false,"NFd":38,"OomKillDisable":true,"NGoroutines":153,"SystemTime":"2022-02-09T14:47:03.003700004Z","LoggingDriver":"json-file","CgroupDriver":"cgroupfs","CgroupVersion":"1","NEventsListener":0,"KernelVersion":"5.10.88-0-virt","OperatingSystem":"Alpine Linux v3.14","OSVersion":"3.14.3","OSType":"linux","Architecture":"x86_64","IndexServerAddress":"https://index.docker.io/v1/","RegistryConfig":{"AllowNondistributableArtifactsCIDRs":[],"AllowNondistributableArtifactsHostnames":[],"InsecureRegistryCIDRs":["127.0.0.0/8"],"IndexConfigs":{"docker.io":{"Name":"docker.io","Mirrors":[],"Secure":true,"Official":true}},"Mirrors":[]},"NCPU":2,"MemTotal":2085105664,"GenericResources":null,"DockerRootDir":"/var/lib/docker","HttpProxy":"","HttpsProxy":"","NoProxy":"","Name":"colima","Labels":[],"ExperimentalBuild":false,"ServerVersion":"20.10.11","Runtimes":{"io.containerd.runc.v2":{"path":"runc"},"io.containerd.runtime.v1.linux":{"path":"runc"},"runc":{"path":"runc"}},"DefaultRuntime":"runc","Swarm":{"NodeID":"gur41n0c4vll8z42wetspwok1","NodeAddr":"192.168.5.15","LocalNodeState":"active","ControlAvailable":true,"Error":"","RemoteManagers":[{"NodeID":"gur41n0c4vll8z42wetspwok1","Addr":"192.168.5.15:2377"}],"Nodes":1,"Managers":1,"Cluster":{"ID":"ic20gvgtimgxmv4kvfj8sxjh5","Version":{"Index":51},"CreatedAt":"2022-01-18T22:10:46.713234545Z","UpdatedAt":"2022-02-09T12:24:40.030161Z","Spec":{"Name":"default","Labels":{},"Orchestration":{"TaskHistoryRetentionLimit":5},"Raft":{"SnapshotInterval":10000,"KeepOldSnapshots":0,"LogEntriesForSlowFollowers":500,"ElectionTick":10,"HeartbeatTick":1},"Dispatcher":{"HeartbeatPeriod":5000000000},"CAConfig":{"NodeCertExpiry":7776000000000000},"TaskDefaults":{},"EncryptionConfig":{"AutoLockManagers":false}},"TLSInfo":{"TrustRoot":"-----BEGIN CERTIFICATE-----\nMIIBazCCARCgAwIBAgIUOdinq37MuuxNdI0WyTJb/0yg99AwCgYIKoZIzj0EAwIw\nEzERMA8GA1UEAxMIc3dhcm0tY2EwHhcNMjIwMTE4MjIwNjAwWhcNNDIwMTEzMjIw\nNjAwWjATMREwDwYDVQQDEwhzd2FybS1jYTBZMBMGByqGSM49AgEGCCqGSM49AwEH\nA0IABHHgWtzjwgHx205BNkF+I24T3q0ULRvn6YKKWA3h0Zd2vSmeD22qZswQahIs\nu1BBkHqZMQDOqjlq3G37Msmn2pOjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMB\nAf8EBTADAQH/MB0GA1UdDgQWBBQErzymsboc3EtkXwH1q9CAv0fqyDAKBggqhkjO\nPQQDAgNJADBGAiEA4kswCzy9lEDMMw1BhMAHf4xDcrnuPctJ07RjaY2db4ICIQCE\nDfPhSLNx7cnvuvUZsBgE2UkTI4k/z+MmgSlBqhDC/g==\n-----END CERTIFICATE-----\n","CertIssuerSubject":"MBMxETAPBgNVBAMTCHN3YXJtLWNh","CertIssuerPublicKey":"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEceBa3OPCAfHbTkE2QX4jbhPerRQtG+fpgopYDeHRl3a9KZ4PbapmzBBqEiy7UEGQepkxAM6qOWrcbfsyyafakw=="},"RootRotationInProgress":false,"DefaultAddrPool":["10.0.0.0/8"],"SubnetSize":24,"DataPathPort":4789}},"LiveRestoreEnabled":false,"Isolation":"","InitBinary":"docker-init","ContainerdCommit":{"ID":"1e5ef943eb76627a6d3b6de8cd1ef6537f393a71","Expected":"1e5ef943eb76627a6d3b6de8cd1ef6537f393a71"},"RuncCommit":{"ID":"b9ee9c6314599f1b4a7f497e1f1f856fe433d3b7","Expected":"b9ee9c6314599f1b4a7f497e1f1f856fe433d3b7"},"InitCommit":{"ID":"","Expected":""},"SecurityOptions":["name=seccomp,profile=default"],"Warnings":null}[\n]"
08:47:04.629 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "[\r][\n]"
08:47:04.629 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "0[\r][\n]"
08:47:04.629 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "[\r][\n]"
08:47:04.630 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << HTTP/1.1 200 OK
08:47:04.630 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << Api-Version: 1.41
08:47:04.630 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << Content-Type: application/json
08:47:04.630 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << Docker-Experimental: false
08:47:04.630 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << Ostype: linux
08:47:04.630 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << Server: Docker/20.10.11 (linux)
08:47:04.630 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << Date: Wed, 09 Feb 2022 14:47:03 GMT
08:47:04.630 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << Transfer-Encoding: chunked
08:47:04.630 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.MainClientExec - ex-00000002: connection can be kept alive for 3 MINUTES
08:47:04.633 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ep-00000001: releasing valid endpoint
08:47:04.633 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ep-00000001: releasing endpoint
08:47:04.633 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ep-00000001: connection http-outgoing-0 can be kept alive for 3 MINUTES
08:47:04.634 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ep-00000001: connection released [route: {}->unix://localhost:2375][total available: 1; route allocated: 1 of 2147483647; total allocated: 1 of 2147483647]
08:47:04.638 [Test worker] DEBUG o.t.s.c.g.d.c.command.AbstrDockerCmd - Cmd: 
08:47:04.640 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ex-00000003: preparing request execution
08:47:04.640 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.p.RequestAddCookies - Cookie spec selected: strict
08:47:04.640 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.p.RequestAuthCache - Auth cache not set in the context
08:47:04.640 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.ProtocolExec - ex-00000003: target auth state: UNCHALLENGED
08:47:04.640 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.ProtocolExec - ex-00000003: proxy auth state: UNCHALLENGED
08:47:04.640 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.ConnectExec - ex-00000003: acquiring connection with route {}->unix://localhost:2375
08:47:04.640 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ex-00000003: acquiring endpoint (3 MINUTES)
08:47:04.641 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ex-00000003: endpoint lease request (3 MINUTES) [route: {}->unix://localhost:2375][total available: 1; route allocated: 1 of 2147483647; total allocated: 1 of 2147483647]
08:47:04.641 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ex-00000003: endpoint leased [route: {}->unix://localhost:2375][total available: 0; route allocated: 1 of 2147483647; total allocated: 1 of 2147483647]
08:47:04.641 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ex-00000003: acquired ep-00000002
08:47:04.641 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ex-00000003: acquired endpoint ep-00000002
08:47:04.641 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.MainClientExec - ex-00000003: executing GET /v1.32/version HTTP/1.1
08:47:04.641 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ep-00000002: start execution ex-00000003
08:47:04.641 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ep-00000002: executing exchange ex-00000003 over http-outgoing-0
08:47:04.642 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 >> GET /v1.32/version HTTP/1.1
08:47:04.642 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 >> accept: application/json
08:47:04.642 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 >> Accept-Encoding: gzip, x-gzip, deflate
08:47:04.642 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 >> Host: localhost:2375
08:47:04.642 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 >> Connection: keep-alive
08:47:04.642 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 >> User-Agent: Apache-HttpClient/5.0.3 (Java/11.0.11)
08:47:04.642 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "GET /v1.32/version HTTP/1.1[\r][\n]"
08:47:04.642 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "accept: application/json[\r][\n]"
08:47:04.642 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "Accept-Encoding: gzip, x-gzip, deflate[\r][\n]"
08:47:04.642 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "Host: localhost:2375[\r][\n]"
08:47:04.642 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "Connection: keep-alive[\r][\n]"
08:47:04.642 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "User-Agent: Apache-HttpClient/5.0.3 (Java/11.0.11)[\r][\n]"
08:47:04.643 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "[\r][\n]"
08:47:04.653 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "HTTP/1.1 200 OK[\r][\n]"
08:47:04.654 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "Api-Version: 1.41[\r][\n]"
08:47:04.654 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "Content-Type: application/json[\r][\n]"
08:47:04.654 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "Docker-Experimental: false[\r][\n]"
08:47:04.654 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "Ostype: linux[\r][\n]"
08:47:04.654 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "Server: Docker/20.10.11 (linux)[\r][\n]"
08:47:04.654 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "Date: Wed, 09 Feb 2022 14:47:03 GMT[\r][\n]"
08:47:04.654 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "Content-Length: 884[\r][\n]"
08:47:04.654 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "[\r][\n]"
08:47:04.654 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "{"Platform":{"Name":""},"Components":[{"Name":"Engine","Version":"20.10.11","Details":{"ApiVersion":"1.41","Arch":"amd64","BuildTime":"2021-11-19T03:41:34.000000000+00:00","Experimental":"false","GitCommit":"847da184ad5048b27f5bdf9d53d070f731b43180","GoVersion":"go1.16.10","KernelVersion":"5.10.88-0-virt","MinAPIVersion":"1.12","Os":"linux"}},{"Name":"containerd","Version":"v1.5.8","Details":{"GitCommit":"1e5ef943eb76627a6d3b6de8cd1ef6537f393a71"}},{"Name":"runc","Version":"1.0.0-rc95","Details":{"GitCommit":"b9ee9c6314599f1b4a7f497e1f1f856fe433d3b7"}},{"Name":"docker-init","Version":"0.19.0","Details":{"GitCommit":""}}],"Version":"20.10.11","ApiVersion":"1.41","MinAPIVersion":"1.12","GitCommit":"847da184ad5048b27f5bdf9d53d070f731b43180","GoVersion":"go1.16.10","Os":"linux","Arch":"amd64","KernelVersion":"5.10.88-0-virt","BuildTime":"2021-11-19T03:41:34.000000000+00:00"}[\n]"
08:47:04.655 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << HTTP/1.1 200 OK
08:47:04.655 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << Api-Version: 1.41
08:47:04.655 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << Content-Type: application/json
08:47:04.655 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << Docker-Experimental: false
08:47:04.655 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << Ostype: linux
08:47:04.655 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << Server: Docker/20.10.11 (linux)
08:47:04.655 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << Date: Wed, 09 Feb 2022 14:47:03 GMT
08:47:04.655 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << Content-Length: 884
08:47:04.656 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.MainClientExec - ex-00000003: connection can be kept alive for 3 MINUTES
08:47:04.663 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ep-00000002: releasing valid endpoint
08:47:04.663 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ep-00000002: releasing endpoint
08:47:04.663 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ep-00000002: connection http-outgoing-0 can be kept alive for 3 MINUTES
08:47:04.663 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ep-00000002: connection released [route: {}->unix://localhost:2375][total available: 1; route allocated: 1 of 2147483647; total allocated: 1 of 2147483647]
08:47:04.664 [Test worker] INFO  o.testcontainers.DockerClientFactory - Connected to docker: 
  Server Version: 20.10.11
  API Version: 1.41
  Operating System: Alpine Linux v3.14
  Total Memory: 1988 MB
08:47:04.664 [Test worker] DEBUG o.testcontainers.DockerClientFactory - Ryuk is enabled
08:47:04.671 [Test worker] INFO  o.t.utility.ImageNameSubstitutor - Image name substitution will be performed by: DefaultImageNameSubstitutor (composite of 'ConfigurationFileImageNameSubstitutor' and 'PrefixingImageNameSubstitutor')
08:47:04.674 [Test worker] DEBUG o.t.u.PrefixingImageNameSubstitutor - No prefix is configured
08:47:04.674 [Test worker] DEBUG o.t.utility.ImageNameSubstitutor - Did not find a substitute image for testcontainers/ryuk:0.3.3 (using image substitutor: DefaultImageNameSubstitutor (composite of 'ConfigurationFileImageNameSubstitutor' and 'PrefixingImageNameSubstitutor'))
08:47:04.676 [Test worker] DEBUG o.t.s.c.g.d.c.command.AbstrDockerCmd - Cmd: testcontainers/ryuk:0.3.3
08:47:04.682 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ex-00000004: preparing request execution
08:47:04.683 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.p.RequestAddCookies - Cookie spec selected: strict
08:47:04.683 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.p.RequestAuthCache - Auth cache not set in the context
08:47:04.683 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.ProtocolExec - ex-00000004: target auth state: UNCHALLENGED
08:47:04.683 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.ProtocolExec - ex-00000004: proxy auth state: UNCHALLENGED
08:47:04.683 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.ConnectExec - ex-00000004: acquiring connection with route {}->unix://localhost:2375
08:47:04.683 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ex-00000004: acquiring endpoint (3 MINUTES)
08:47:04.683 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ex-00000004: endpoint lease request (3 MINUTES) [route: {}->unix://localhost:2375][total available: 1; route allocated: 1 of 2147483647; total allocated: 1 of 2147483647]
08:47:04.683 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ex-00000004: endpoint leased [route: {}->unix://localhost:2375][total available: 0; route allocated: 1 of 2147483647; total allocated: 1 of 2147483647]
08:47:04.684 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ex-00000004: acquired ep-00000003
08:47:04.684 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ex-00000004: acquired endpoint ep-00000003
08:47:04.684 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.MainClientExec - ex-00000004: executing GET /v1.32/images/testcontainers%2Fryuk:0.3.3/json HTTP/1.1
08:47:04.684 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ep-00000003: start execution ex-00000004
08:47:04.684 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ep-00000003: executing exchange ex-00000004 over http-outgoing-0
08:47:04.684 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 >> GET /v1.32/images/testcontainers%2Fryuk:0.3.3/json HTTP/1.1
08:47:04.684 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 >> accept: application/json
08:47:04.684 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 >> Accept-Encoding: gzip, x-gzip, deflate
08:47:04.684 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 >> Host: localhost:2375
08:47:04.684 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 >> Connection: keep-alive
08:47:04.685 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 >> User-Agent: Apache-HttpClient/5.0.3 (Java/11.0.11)
08:47:04.685 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "GET /v1.32/images/testcontainers%2Fryuk:0.3.3/json HTTP/1.1[\r][\n]"
08:47:04.685 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "accept: application/json[\r][\n]"
08:47:04.685 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "Accept-Encoding: gzip, x-gzip, deflate[\r][\n]"
08:47:04.685 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "Host: localhost:2375[\r][\n]"
08:47:04.685 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "Connection: keep-alive[\r][\n]"
08:47:04.685 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "User-Agent: Apache-HttpClient/5.0.3 (Java/11.0.11)[\r][\n]"
08:47:04.685 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "[\r][\n]"
08:47:04.687 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "HTTP/1.1 200 OK[\r][\n]"
08:47:04.687 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "Api-Version: 1.41[\r][\n]"
08:47:04.687 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "Content-Type: application/json[\r][\n]"
08:47:04.687 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "Docker-Experimental: false[\r][\n]"
08:47:04.687 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "Ostype: linux[\r][\n]"
08:47:04.687 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "Server: Docker/20.10.11 (linux)[\r][\n]"
08:47:04.687 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "Date: Wed, 09 Feb 2022 14:47:03 GMT[\r][\n]"
08:47:04.687 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "Content-Length: 1966[\r][\n]"
08:47:04.687 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "[\r][\n]"
08:47:04.687 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "{"Id":"sha256:64f4b02dc9864d9621d248e55835408a03b3cd8239b790e610c71c29ea45a3b9","RepoTags":["testcontainers/ryuk:0.3.3"],"RepoDigests":["testcontainers/ryuk@sha256:d50c04005142e165182b2e408d0c76f3cc38ca4db4af14125ce1b938820e5cef"],"Parent":"","Comment":"buildkit.dockerfile.v0","Created":"2021-10-14T08:34:37.190213163Z","Container":"","ContainerConfig":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":null,"Cmd":null,"Image":"","Volumes":null,"WorkingDir":"","Entrypoint":null,"OnBuild":null,"Labels":null},"DockerVersion":"","Author":"","Config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"],"Cmd":["/app"],"ArgsEscaped":true,"Image":"","Volumes":null,"WorkingDir":"","Entrypoint":null,"OnBuild":null,"Labels":null},"Architecture":"amd64","Os":"linux","Size":11982543,"VirtualSize":11982543,"GraphDriver":{"Data":{"LowerDir":"/var/lib/docker/overlay2/3d6e862bb82893eddd9b99afed7055109fa01b2257c154d11f075065a558e344/diff:/var/lib/docker/overlay2/5e8cb6310c31282740de4367c8d3203bd31be770468317352dadd4ac56a0e62e/diff","MergedDir":"/var/lib/docker/overlay2/23dce4b47efa98e799296c272ce780276cce6181c229ef68d812758d2af9ddac/merged","UpperDir":"/var/lib/docker/overlay2/23dce4b47efa98e799296c272ce780276cce6181c229ef68d812758d2af9ddac/diff","WorkDir":"/var/lib/docker/overlay2/23dce4b47efa98e799296c272ce780276cce6181c229ef68d812758d2af9ddac/work"},"Name":"overlay2"},"RootFS":{"Type":"layers","Layers":["sha256:f1dd685eb59e7d19dd353b02c4679d9fafd21ccffe1f51960e6c3645f3ceb0cd","sha256:b0d7b79bf2d669ae9417ca566db869fd39c56629970b9427bc9cd9f3e6a9fae7","sha256:9abd6e27dfe5c906b1dc8dd908d4b965e9ff56904699f6776badb0386920ad14"]},"Metadata":{"LastTagTime":"0001-01-01T00:00:00Z"}}[\n]"
08:47:04.688 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << HTTP/1.1 200 OK
08:47:04.688 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << Api-Version: 1.41
08:47:04.688 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << Content-Type: application/json
08:47:04.688 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << Docker-Experimental: false
08:47:04.688 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << Ostype: linux
08:47:04.688 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << Server: Docker/20.10.11 (linux)
08:47:04.688 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << Date: Wed, 09 Feb 2022 14:47:03 GMT
08:47:04.688 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << Content-Length: 1966
08:47:04.688 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.MainClientExec - ex-00000004: connection can be kept alive for 3 MINUTES
08:47:04.712 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ep-00000003: releasing valid endpoint
08:47:04.712 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ep-00000003: releasing endpoint
08:47:04.712 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ep-00000003: connection http-outgoing-0 can be kept alive for 3 MINUTES
08:47:04.713 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ep-00000003: connection released [route: {}->unix://localhost:2375][total available: 1; route allocated: 1 of 2147483647; total allocated: 1 of 2147483647]
08:47:04.733 [Test worker] DEBUG o.t.utility.RegistryAuthLocator - Looking up auth config for image: testcontainers/ryuk:0.3.3 at registry: index.docker.io
08:47:04.733 [Test worker] DEBUG o.t.utility.RegistryAuthLocator - RegistryAuthLocator has configFile: /Users/ddowma/.docker/config.json (exists) and commandPathPrefix: 
08:47:04.733 [Test worker] DEBUG o.t.utility.RegistryAuthLocator - registryName [index.docker.io] for dockerImageName [testcontainers/ryuk:0.3.3]
08:47:04.734 [Test worker] DEBUG o.t.utility.RegistryAuthLocator - No matching Auth Configs - falling back to defaultAuthConfig [null]
08:47:04.734 [Test worker] DEBUG o.t.d.AuthDelegatingDockerClientConfig - Effective auth config [null]
08:47:04.749 [Test worker] DEBUG o.t.s.c.g.d.c.command.AbstrDockerCmd - Cmd: org.testcontainers.shaded.com.github.dockerjava.core.command.CreateContainerCmdImpl@7c5be362[name=testcontainers-ryuk-bd466742-47d9-4b1f-99a7-463853a49f05,hostName=<null>,domainName=<null>,user=<null>,attachStdin=<null>,attachStdout=<null>,attachStderr=<null>,portSpecs=<null>,tty=<null>,stdinOpen=<null>,stdInOnce=<null>,env=<null>,cmd=<null>,healthcheck=<null>,argsEscaped=<null>,entrypoint=<null>,image=testcontainers/ryuk:0.3.3,volumes=Volumes(volumes=[]),workingDir=<null>,macAddress=<null>,onBuild=<null>,networkDisabled=<null>,exposedPorts=ExposedPorts(exposedPorts=[8080/tcp]),stopSignal=<null>,stopTimeout=<null>,hostConfig=HostConfig(binds=[/Users/ddowma/.colima/docker.sock:/var/run/docker.sock:rw], blkioWeight=null, blkioWeightDevice=null, blkioDeviceReadBps=null, blkioDeviceWriteBps=null, blkioDeviceReadIOps=null, blkioDeviceWriteIOps=null, memorySwappiness=null, nanoCPUs=null, capAdd=null, capDrop=null, containerIDFile=null, cpuPeriod=null, cpuRealtimePeriod=null, cpuRealtimeRuntime=null, cpuShares=null, cpuQuota=null, cpusetCpus=null, cpusetMems=null, devices=null, deviceCgroupRules=null, deviceRequests=null, diskQuota=null, dns=null, dnsOptions=null, dnsSearch=null, extraHosts=null, groupAdd=null, ipcMode=null, cgroup=null, links=[], logConfig=LogConfig(type=null, config=null), lxcConf=null, memory=null, memorySwap=null, memoryReservation=null, kernelMemory=null, networkMode=null, oomKillDisable=null, init=null, autoRemove=true, oomScoreAdj=null, portBindings={8080/tcp=[Lcom.github.dockerjava.api.model.Ports$Binding;@6fdc1bcd}, privileged=false, publishAllPorts=null, readonlyRootfs=null, restartPolicy=null, ulimits=null, cpuCount=null, cpuPercent=null, ioMaximumIOps=null, ioMaximumBandwidth=null, volumesFrom=null, mounts=null, pidMode=null, isolation=null, securityOpts=null, storageOpt=null, cgroupParent=null, volumeDriver=null, shmSize=null, pidsLimit=null, runtime=null, tmpFs=null, utSMode=null, usernsMode=null, sysctls=null, consoleSize=null),labels={org.testcontainers=true},shell=<null>,networkingConfig=<null>,ipv4Address=<null>,ipv6Address=<null>,aliases=<null>,authConfig=<null>,platform=<null>]
08:47:04.832 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ex-00000005: preparing request execution
08:47:04.832 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.p.RequestAddCookies - Cookie spec selected: strict
08:47:04.832 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.p.RequestAuthCache - Auth cache not set in the context
08:47:04.832 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.ProtocolExec - ex-00000005: target auth state: UNCHALLENGED
08:47:04.832 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.ProtocolExec - ex-00000005: proxy auth state: UNCHALLENGED
08:47:04.832 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.ConnectExec - ex-00000005: acquiring connection with route {}->unix://localhost:2375
08:47:04.832 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ex-00000005: acquiring endpoint (3 MINUTES)
08:47:04.832 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ex-00000005: endpoint lease request (3 MINUTES) [route: {}->unix://localhost:2375][total available: 1; route allocated: 1 of 2147483647; total allocated: 1 of 2147483647]
08:47:04.833 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ex-00000005: endpoint leased [route: {}->unix://localhost:2375][total available: 0; route allocated: 1 of 2147483647; total allocated: 1 of 2147483647]
08:47:04.833 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ex-00000005: acquired ep-00000004
08:47:04.833 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ex-00000005: acquired endpoint ep-00000004
08:47:04.833 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.MainClientExec - ex-00000005: executing POST /v1.32/containers/create?name=testcontainers-ryuk-bd466742-47d9-4b1f-99a7-463853a49f05 HTTP/1.1
08:47:04.833 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ep-00000004: start execution ex-00000005
08:47:04.833 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ep-00000004: executing exchange ex-00000005 over http-outgoing-0
08:47:04.833 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 >> POST /v1.32/containers/create?name=testcontainers-ryuk-bd466742-47d9-4b1f-99a7-463853a49f05 HTTP/1.1
08:47:04.833 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 >> accept: application/json
08:47:04.833 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 >> content-type: application/json
08:47:04.833 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 >> Accept-Encoding: gzip, x-gzip, deflate
08:47:04.834 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 >> Content-Length: 1987
08:47:04.834 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 >> Host: localhost:2375
08:47:04.834 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 >> Connection: keep-alive
08:47:04.834 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 >> User-Agent: Apache-HttpClient/5.0.3 (Java/11.0.11)
08:47:04.834 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "POST /v1.32/containers/create?name=testcontainers-ryuk-bd466742-47d9-4b1f-99a7-463853a49f05 HTTP/1.1[\r][\n]"
08:47:04.834 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "accept: application/json[\r][\n]"
08:47:04.834 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "content-type: application/json[\r][\n]"
08:47:04.834 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "Accept-Encoding: gzip, x-gzip, deflate[\r][\n]"
08:47:04.834 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "Content-Length: 1987[\r][\n]"
08:47:04.834 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "Host: localhost:2375[\r][\n]"
08:47:04.834 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "Connection: keep-alive[\r][\n]"
08:47:04.834 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "User-Agent: Apache-HttpClient/5.0.3 (Java/11.0.11)[\r][\n]"
08:47:04.835 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "[\r][\n]"
08:47:04.835 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "{"name":"testcontainers-ryuk-bd466742-47d9-4b1f-99a7-463853a49f05","authConfig":null,"platform":null,"Hostname":null,"Domainname":null,"User":null,"AttachStdin":null,"AttachStdout":null,"AttachStderr":null,"PortSpecs":null,"Tty":null,"OpenStdin":null,"StdinOnce":null,"Env":null,"Cmd":null,"Healthcheck":null,"ArgsEscaped":null,"Entrypoint":null,"Image":"testcontainers/ryuk:0.3.3","Volumes":{},"WorkingDir":null,"MacAddress":null,"OnBuild":null,"NetworkDisabled":null,"ExposedPorts":{"8080/tcp":{}},"StopSignal":null,"StopTimeout":null,"HostConfig":{"Binds":["/Users/ddowma/.colima/docker.sock:/var/run/docker.sock:rw"],"BlkioWeight":null,"BlkioWeightDevice":null,"BlkioDeviceReadBps":null,"BlkioDeviceWriteBps":null,"BlkioDeviceReadIOps":null,"BlkioDeviceWriteIOps":null,"MemorySwappiness":null,"NanoCpus":null,"CapAdd":null,"CapDrop":null,"ContainerIDFile":null,"CpuPeriod":null,"CpuRealtimePeriod":null,"CpuRealtimeRuntime":null,"CpuShares":null,"CpuQuota":null,"CpusetCpus":null,"CpusetMems":null,"Devices":null,"DeviceCgroupRules":null,"DeviceRequests":null,"DiskQuota":null,"Dns":null,"DnsOptions":null,"DnsSearch":null,"ExtraHosts":null,"GroupAdd":null,"IpcMode":null,"Cgroup":null,"Links":null,"LogConfig":null,"LxcConf":null,"Memory":null,"MemorySwap":null,"MemoryReservation":null,"KernelMemory":null,"NetworkMode":null,"OomKillDisable":null,"Init":null,"AutoRemove":true,"OomScoreAdj":null,"PortBindings":{"8080/tcp":[{"HostIp":"","HostPort":""}]},"Privileged":false,"PublishAllPorts":null,"ReadonlyRootfs":null,"RestartPolicy":null,"Ulimits":null,"CpuCount":null,"CpuPercent":null,"IOMaximumIOps":null,"IOMaximumBandwidth":null,"VolumesFrom":null,"Mounts":null,"PidMode":null,"Isolation":null,"SecurityOpt":null,"StorageOpt":null,"CgroupParent":null,"VolumeDriver":null,"ShmSize":null,"PidsLimit":null,"Runtime":null,"Tmpfs":null,"UTSMode":null,"UsernsMode":null,"Sysctls":null,"ConsoleSize":null},"Labels":{"org.testcontainers":"true"},"Shell":null,"NetworkingConfig":null}"
08:47:04.852 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "HTTP/1.1 201 Created[\r][\n]"
08:47:04.852 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "Api-Version: 1.41[\r][\n]"
08:47:04.852 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "Content-Type: application/json[\r][\n]"
08:47:04.852 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "Docker-Experimental: false[\r][\n]"
08:47:04.852 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "Ostype: linux[\r][\n]"
08:47:04.852 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "Server: Docker/20.10.11 (linux)[\r][\n]"
08:47:04.852 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "Date: Wed, 09 Feb 2022 14:47:03 GMT[\r][\n]"
08:47:04.852 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "Content-Length: 88[\r][\n]"
08:47:04.853 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "[\r][\n]"
08:47:04.853 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "{"Id":"9e6b5072404f1a9420ad91a6e2b8a74b13b79df7bd79e3bc313dddf4844397f5","Warnings":[]}[\n]"
08:47:04.853 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << HTTP/1.1 201 Created
08:47:04.853 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << Api-Version: 1.41
08:47:04.853 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << Content-Type: application/json
08:47:04.853 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << Docker-Experimental: false
08:47:04.853 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << Ostype: linux
08:47:04.853 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << Server: Docker/20.10.11 (linux)
08:47:04.853 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << Date: Wed, 09 Feb 2022 14:47:03 GMT
08:47:04.853 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << Content-Length: 88
08:47:04.854 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.MainClientExec - ex-00000005: connection can be kept alive for 3 MINUTES
08:47:04.855 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ep-00000004: releasing valid endpoint
08:47:04.855 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ep-00000004: releasing endpoint
08:47:04.855 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ep-00000004: connection http-outgoing-0 can be kept alive for 3 MINUTES
08:47:04.855 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ep-00000004: connection released [route: {}->unix://localhost:2375][total available: 1; route allocated: 1 of 2147483647; total allocated: 1 of 2147483647]
08:47:04.857 [Test worker] DEBUG o.t.s.c.g.d.c.command.AbstrDockerCmd - Cmd: 9e6b5072404f1a9420ad91a6e2b8a74b13b79df7bd79e3bc313dddf4844397f5
08:47:04.857 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ex-00000006: preparing request execution
08:47:04.857 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.p.RequestAddCookies - Cookie spec selected: strict
08:47:04.857 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.p.RequestAuthCache - Auth cache not set in the context
08:47:04.857 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.ProtocolExec - ex-00000006: target auth state: UNCHALLENGED
08:47:04.857 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.ProtocolExec - ex-00000006: proxy auth state: UNCHALLENGED
08:47:04.857 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.ConnectExec - ex-00000006: acquiring connection with route {}->unix://localhost:2375
08:47:04.857 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ex-00000006: acquiring endpoint (3 MINUTES)
08:47:04.858 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ex-00000006: endpoint lease request (3 MINUTES) [route: {}->unix://localhost:2375][total available: 1; route allocated: 1 of 2147483647; total allocated: 1 of 2147483647]
08:47:04.858 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ex-00000006: endpoint leased [route: {}->unix://localhost:2375][total available: 0; route allocated: 1 of 2147483647; total allocated: 1 of 2147483647]
08:47:04.858 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ex-00000006: acquired ep-00000005
08:47:04.858 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ex-00000006: acquired endpoint ep-00000005
08:47:04.858 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.MainClientExec - ex-00000006: executing POST /v1.32/containers/9e6b5072404f1a9420ad91a6e2b8a74b13b79df7bd79e3bc313dddf4844397f5/start HTTP/1.1
08:47:04.858 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ep-00000005: start execution ex-00000006
08:47:04.858 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ep-00000005: executing exchange ex-00000006 over http-outgoing-0
08:47:04.858 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 >> POST /v1.32/containers/9e6b5072404f1a9420ad91a6e2b8a74b13b79df7bd79e3bc313dddf4844397f5/start HTTP/1.1
08:47:04.858 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 >> accept: application/json
08:47:04.858 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 >> content-type: application/json
08:47:04.858 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 >> Accept-Encoding: gzip, x-gzip, deflate
08:47:04.859 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 >> Host: localhost:2375
08:47:04.859 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 >> Connection: keep-alive
08:47:04.859 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 >> User-Agent: Apache-HttpClient/5.0.3 (Java/11.0.11)
08:47:04.859 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "POST /v1.32/containers/9e6b5072404f1a9420ad91a6e2b8a74b13b79df7bd79e3bc313dddf4844397f5/start HTTP/1.1[\r][\n]"
08:47:04.859 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "accept: application/json[\r][\n]"
08:47:04.859 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "content-type: application/json[\r][\n]"
08:47:04.859 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "Accept-Encoding: gzip, x-gzip, deflate[\r][\n]"
08:47:04.859 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "Host: localhost:2375[\r][\n]"
08:47:04.859 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "Connection: keep-alive[\r][\n]"
08:47:04.859 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "User-Agent: Apache-HttpClient/5.0.3 (Java/11.0.11)[\r][\n]"
08:47:04.859 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "[\r][\n]"
08:47:05.213 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "HTTP/1.1 204 No Content[\r][\n]"
08:47:05.213 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "Api-Version: 1.41[\r][\n]"
08:47:05.213 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "Docker-Experimental: false[\r][\n]"
08:47:05.214 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "Ostype: linux[\r][\n]"
08:47:05.214 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "Server: Docker/20.10.11 (linux)[\r][\n]"
08:47:05.214 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "Date: Wed, 09 Feb 2022 14:47:03 GMT[\r][\n]"
08:47:05.214 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "[\r][\n]"
08:47:05.214 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << HTTP/1.1 204 No Content
08:47:05.214 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << Api-Version: 1.41
08:47:05.214 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << Docker-Experimental: false
08:47:05.214 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << Ostype: linux
08:47:05.214 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << Server: Docker/20.10.11 (linux)
08:47:05.214 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << Date: Wed, 09 Feb 2022 14:47:03 GMT
08:47:05.214 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.MainClientExec - ex-00000006: connection can be kept alive for 3 MINUTES
08:47:05.214 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ep-00000005: releasing valid endpoint
08:47:05.215 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ep-00000005: releasing endpoint
08:47:05.215 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ep-00000005: connection http-outgoing-0 can be kept alive for 3 MINUTES
08:47:05.215 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ep-00000005: connection released [route: {}->unix://localhost:2375][total available: 1; route allocated: 1 of 2147483647; total allocated: 1 of 2147483647]
08:47:05.222 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ex-00000007: preparing request execution
08:47:05.223 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.h.c.h.p.RequestAddCookies - Cookie spec selected: strict
08:47:05.223 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.h.c.h.p.RequestAuthCache - Auth cache not set in the context
08:47:05.223 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.ProtocolExec - ex-00000007: target auth state: UNCHALLENGED
08:47:05.223 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.ProtocolExec - ex-00000007: proxy auth state: UNCHALLENGED
08:47:05.223 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.ConnectExec - ex-00000007: acquiring connection with route {}->unix://localhost:2375
08:47:05.223 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ex-00000007: acquiring endpoint (3 MINUTES)
08:47:05.223 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ex-00000007: endpoint lease request (3 MINUTES) [route: {}->unix://localhost:2375][total available: 1; route allocated: 1 of 2147483647; total allocated: 1 of 2147483647]
08:47:05.224 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ex-00000007: endpoint leased [route: {}->unix://localhost:2375][total available: 0; route allocated: 1 of 2147483647; total allocated: 1 of 2147483647]
08:47:05.224 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ex-00000007: acquired ep-00000006
08:47:05.224 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ex-00000007: acquired endpoint ep-00000006
08:47:05.224 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.MainClientExec - ex-00000007: executing GET /v1.32/containers/9e6b5072404f1a9420ad91a6e2b8a74b13b79df7bd79e3bc313dddf4844397f5/logs?stdout=true&stderr=true&follow=true&since=0 HTTP/1.1
08:47:05.224 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ep-00000006: start execution ex-00000007
08:47:05.224 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ep-00000006: executing exchange ex-00000007 over http-outgoing-0
08:47:05.225 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 >> GET /v1.32/containers/9e6b5072404f1a9420ad91a6e2b8a74b13b79df7bd79e3bc313dddf4844397f5/logs?stdout=true&stderr=true&follow=true&since=0 HTTP/1.1
08:47:05.225 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 >> Accept-Encoding: gzip, x-gzip, deflate
08:47:05.225 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 >> Host: localhost:2375
08:47:05.225 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 >> Connection: keep-alive
08:47:05.225 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 >> User-Agent: Apache-HttpClient/5.0.3 (Java/11.0.11)
08:47:05.225 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "GET /v1.32/containers/9e6b5072404f1a9420ad91a6e2b8a74b13b79df7bd79e3bc313dddf4844397f5/logs?stdout=true&stderr=true&follow=true&since=0 HTTP/1.1[\r][\n]"
08:47:05.225 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "Accept-Encoding: gzip, x-gzip, deflate[\r][\n]"
08:47:05.225 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "Host: localhost:2375[\r][\n]"
08:47:05.225 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "Connection: keep-alive[\r][\n]"
08:47:05.225 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "User-Agent: Apache-HttpClient/5.0.3 (Java/11.0.11)[\r][\n]"
08:47:05.225 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 >> "[\r][\n]"
08:47:05.248 [Test worker] DEBUG o.t.s.c.g.d.c.command.AbstrDockerCmd - Cmd: 9e6b5072404f1a9420ad91a6e2b8a74b13b79df7bd79e3bc313dddf4844397f5,false
08:47:05.249 [Test worker] DEBUG o.t.s.c.g.d.c.e.InspectContainerCmdExec - GET: DefaultWebTarget{path=[/containers/9e6b5072404f1a9420ad91a6e2b8a74b13b79df7bd79e3bc313dddf4844397f5/json], queryParams={}}
08:47:05.253 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ex-00000008: preparing request execution
08:47:05.253 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.p.RequestAddCookies - Cookie spec selected: strict
08:47:05.253 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.p.RequestAuthCache - Auth cache not set in the context
08:47:05.253 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.ProtocolExec - ex-00000008: target auth state: UNCHALLENGED
08:47:05.253 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.ProtocolExec - ex-00000008: proxy auth state: UNCHALLENGED
08:47:05.253 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.ConnectExec - ex-00000008: acquiring connection with route {}->unix://localhost:2375
08:47:05.253 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ex-00000008: acquiring endpoint (3 MINUTES)
08:47:05.253 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ex-00000008: endpoint lease request (3 MINUTES) [route: {}->unix://localhost:2375][total available: 0; route allocated: 1 of 2147483647; total allocated: 1 of 2147483647]
08:47:05.254 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ex-00000008: endpoint leased [route: {}->unix://localhost:2375][total available: 0; route allocated: 2 of 2147483647; total allocated: 2 of 2147483647]
08:47:05.254 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ex-00000008: acquired ep-00000007
08:47:05.254 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ex-00000008: acquired endpoint ep-00000007
08:47:05.254 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.ConnectExec - ex-00000008: opening connection {}->unix://localhost:2375
08:47:05.254 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ep-00000007: connecting endpoint (3 MINUTES)
08:47:05.254 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ep-00000007: connecting endpoint to unix://localhost:2375 (3 MINUTES)
08:47:05.255 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.DefaultHttpClientConnectionOperator - http-outgoing-1: connecting to localhost/127.0.0.1:2375
08:47:05.255 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.DefaultHttpClientConnectionOperator - http-outgoing-1: connection established 
08:47:05.255 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ep-00000007: connected http-outgoing-1
08:47:05.255 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ep-00000007: endpoint connected
08:47:05.255 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.MainClientExec - ex-00000008: executing GET /v1.32/containers/9e6b5072404f1a9420ad91a6e2b8a74b13b79df7bd79e3bc313dddf4844397f5/json HTTP/1.1
08:47:05.256 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ep-00000007: start execution ex-00000008
08:47:05.256 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ep-00000007: executing exchange ex-00000008 over http-outgoing-1
08:47:05.256 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-1 >> GET /v1.32/containers/9e6b5072404f1a9420ad91a6e2b8a74b13b79df7bd79e3bc313dddf4844397f5/json HTTP/1.1
08:47:05.256 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-1 >> accept: application/json
08:47:05.256 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-1 >> Accept-Encoding: gzip, x-gzip, deflate
08:47:05.256 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-1 >> Host: localhost:2375
08:47:05.256 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-1 >> Connection: keep-alive
08:47:05.256 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-1 >> User-Agent: Apache-HttpClient/5.0.3 (Java/11.0.11)
08:47:05.256 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-1 >> "GET /v1.32/containers/9e6b5072404f1a9420ad91a6e2b8a74b13b79df7bd79e3bc313dddf4844397f5/json HTTP/1.1[\r][\n]"
08:47:05.256 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-1 >> "accept: application/json[\r][\n]"
08:47:05.256 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-1 >> "Accept-Encoding: gzip, x-gzip, deflate[\r][\n]"
08:47:05.256 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-1 >> "Host: localhost:2375[\r][\n]"
08:47:05.256 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-1 >> "Connection: keep-alive[\r][\n]"
08:47:05.256 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-1 >> "User-Agent: Apache-HttpClient/5.0.3 (Java/11.0.11)[\r][\n]"
08:47:05.256 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-1 >> "[\r][\n]"
08:47:05.461 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "HTTP/1.1 200 OK[\r][\n]"
08:47:05.461 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-1 << "HTTP/1.1 200 OK[\r][\n]"
08:47:05.461 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "Api-Version: 1.41[\r][\n]"
08:47:05.461 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-1 << "Api-Version: 1.41[\r][\n]"
08:47:05.462 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "Docker-Experimental: false[\r][\n]"
08:47:05.462 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "Ostype: linux[\r][\n]"
08:47:05.462 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-1 << "Content-Type: application/json[\r][\n]"
08:47:05.462 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "Server: Docker/20.10.11 (linux)[\r][\n]"
08:47:05.462 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-1 << "Docker-Experimental: false[\r][\n]"
08:47:05.462 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "Date: Wed, 09 Feb 2022 14:47:03 GMT[\r][\n]"
08:47:05.462 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-1 << "Ostype: linux[\r][\n]"
08:47:05.462 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "Transfer-Encoding: chunked[\r][\n]"
08:47:05.462 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-1 << "Server: Docker/20.10.11 (linux)[\r][\n]"
08:47:05.462 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "[\r][\n]"
08:47:05.462 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-1 << "Date: Wed, 09 Feb 2022 14:47:03 GMT[\r][\n]"
08:47:05.462 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-1 << "Transfer-Encoding: chunked[\r][\n]"
08:47:05.462 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-1 << "[\r][\n]"
08:47:05.462 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-1 << "130d[\r][\n]"
08:47:05.462 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << HTTP/1.1 200 OK
08:47:05.462 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << Api-Version: 1.41
08:47:05.462 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << Docker-Experimental: false
08:47:05.463 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << Ostype: linux
08:47:05.463 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << Server: Docker/20.10.11 (linux)
08:47:05.463 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << Date: Wed, 09 Feb 2022 14:47:03 GMT
08:47:05.463 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-0 << Transfer-Encoding: chunked
08:47:05.463 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-1 << "{"Id":"9e6b5072404f1a9420ad91a6e2b8a74b13b79df7bd79e3bc313dddf4844397f5","Created":"2022-02-09T14:47:03.224610211Z","Path":"/app","Args":[],"State":{"Status":"removing","Running":false,"Paused":false,"Restarting":false,"OOMKilled":false,"Dead":true,"Pid":0,"ExitCode":2,"Error":"","StartedAt":"2022-02-09T14:47:03.597002321Z","FinishedAt":"2022-02-09T14:47:03.60205839Z"},"Image":"sha256:64f4b02dc9864d9621d248e55835408a03b3cd8239b790e610c71c29ea45a3b9","ResolvConfPath":"/var/lib/docker/containers/9e6b5072404f1a9420ad91a6e2b8a74b13b79df7bd79e3bc313dddf4844397f5/resolv.conf","HostnamePath":"/var/lib/docker/containers/9e6b5072404f1a9420ad91a6e2b8a74b13b79df7bd79e3bc313dddf4844397f5/hostname","HostsPath":"/var/lib/docker/containers/9e6b5072404f1a9420ad91a6e2b8a74b13b79df7bd79e3bc313dddf4844397f5/hosts","LogPath":"/var/lib/docker/containers/9e6b5072404f1a9420ad91a6e2b8a74b13b79df7bd79e3bc313dddf4844397f5/9e6b5072404f1a9420ad91a6e2b8a74b13b79df7bd79e3bc313dddf4844397f5-json.log","Name":"/testcontainers-ryuk-bd466742-47d9-4b1f-99a7-463853a49f05","RestartCount":0,"Driver":"overlay2","Platform":"linux","MountLabel":"","ProcessLabel":"","AppArmorProfile":"","ExecIDs":null,"HostConfig":{"Binds":["/Users/ddowma/.colima/docker.sock:/var/run/docker.sock:rw"],"ContainerIDFile":"","LogConfig":{"Type":"json-file","Config":{}},"NetworkMode":"default","PortBindings":{"8080/tcp":[{"HostIp":"","HostPort":""}]},"RestartPolicy":{"Name":"","MaximumRetryCount":0},"AutoRemove":true,"VolumeDriver":"","VolumesFrom":null,"CapAdd":null,"CapDrop":null,"CgroupnsMode":"host","Dns":null,"DnsOptions":null,"DnsSearch":null,"ExtraHosts":null,"GroupAdd":null,"IpcMode":"shareable","Cgroup":"","Links":null,"OomScoreAdj":0,"PidMode":"","Privileged":false,"PublishAllPorts":false,"ReadonlyRootfs":false,"SecurityOpt":null,"UTSMode":"","UsernsMode":"","ShmSize":67108864,"Runtime":"runc","ConsoleSize":[0,0],"Isolation":"","CpuShares":0,"Memory":0,"NanoCpus":0,"CgroupParent":"","BlkioWeight":0,"BlkioWeightDevice":null,"BlkioDeviceReadBps":null,"BlkioDeviceWriteBps":null,"BlkioDeviceReadIOps":null,"BlkioDeviceWriteIOps":null,"CpuPeriod":0,"CpuQuota":0,"CpuRealtimePeriod":0,"CpuRealtimeRuntime":0,"CpusetCpus":"","CpusetMems":"","Devices":null,"DeviceCgroupRules":null,"DeviceRequests":null,"KernelMemory":0,"KernelMemoryTCP":0,"MemoryReservation":0,"MemorySwap":0,"MemorySwappiness":null,"OomKillDisable":false,"PidsLimit":null,"Ulimits":null,"CpuCount":0,"CpuPercent":0,"IOMaximumIOps":0,"IOMaximumBandwidth":0,"MaskedPaths":["/proc/asound","/proc/acpi","/proc/kcore","/proc/keys","/proc/latency_stats","/proc/timer_list","/proc/timer_stats","/proc/sched_debug","/proc/scsi","/sys/firmware"],"ReadonlyPaths":["/proc/bus","/proc/fs","/proc/irq","/proc/sys","/proc/sysrq-trigger"]},"GraphDriver":{"Data":{"LowerDir":"/var/lib/docker/overlay2/c7a5a0293458774d43aff4ede4a6f20b59ba6b25b9e8da039541ecf655372d7b-init/diff:/var/lib/docker/overlay2/23dce4b47efa98e799296c272ce780276cce6181c229ef68d812758d2af9ddac/diff:/var/lib/docker/overlay2/3d6e862bb82893eddd9b99afed7055109fa01b2257c154d11f075065a558e344/diff:/var/lib/docker/overlay2/5e8cb6310c31282740de4367c8d3203bd31be770468317352dadd4ac56a0e62e/diff","MergedDir":"/var/lib/docker/overlay2/c7a5a0293458774d43aff4ede4a6f20b59ba6b25b9e8da039541ecf655372d7b/merged","UpperDir":"/var/lib/docker/overlay2/c7a5a0293458774d43aff4ede4a6f20b59ba6b25b9e8da039541ecf655372d7b/diff","WorkDir":"/var/lib/docker/overlay2/c7a5a0293458774d43aff4ede4a6f20b59ba6b25b9e8da039541ecf655372d7b/work"},"Name":"overlay2"},"Mounts":[{"Type":"bind","Source":"/Users/ddowma/.colima/docker.sock","Destination":"/var/run/docker.sock","Mode":"rw","RW":true,"Propagation":"rprivate"}],"Config":{"Hostname":"9e6b5072404f","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"8080/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"],"Cmd":["/app"],"Image":"testcontainers/ryuk:0.3.3","Volumes":null,"WorkingDir":"","Entrypoint":null,"OnBuild":null,"Labels":{"org.testcontainers":"true"}},"NetworkSettings":{"Bridge":"","SandboxID":"41244956677fe6fbad39f0fc0effff7b36a359de06b586f9c646c217c05edb99","HairpinMode":false,"LinkLocalIPv6Address":"","LinkLocalIPv6PrefixLen":0,"Ports":{},"SandboxKey":"/var/run/docker/netns/41244956677f","SecondaryIPAddresses":null,"SecondaryIPv6Addresses":null,"EndpointID":"","Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"IPAddress":"","IPPrefixLen":0,"IPv6Gateway":"","MacAddress":"","Networks":{"bridge":{"IPAMConfig":null,"Links":null,"Aliases":null,"NetworkID":"eb610f1c5dafe2c40d7dddfba477922e68a60dad61a053e3ddfe755299f2d9d5","EndpointID":"","Gateway":"","IPAddress":"","IPPrefixLen":0,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"MacAddress":"","DriverOpts":null}}}}[\n]"
08:47:05.463 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.MainClientExec - ex-00000007: connection can be kept alive for 3 MINUTES
08:47:05.463 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-1 << "[\r][\n]"
08:47:05.463 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-1 << "0[\r][\n]"
08:47:05.463 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-1 << "[\r][\n]"
08:47:05.464 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "2e[\r][\n]"
08:47:05.464 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-1 << HTTP/1.1 200 OK
08:47:05.464 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "[0x2][0x0][0x0][0x0][0x0][0x0][0x0]&2022/02/09 14:47:03 Pinging Docker...[\n]"
08:47:05.464 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-1 << Api-Version: 1.41
08:47:05.464 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "[\r][\n]"
08:47:05.464 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-1 << Content-Type: application/json
08:47:05.464 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "71[\r][\n]"
08:47:05.464 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-1 << Docker-Experimental: false
08:47:05.464 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-1 << Ostype: linux
08:47:05.464 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "[0x2][0x0][0x0][0x0][0x0][0x0][0x0]ipanic: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?[\n]"
08:47:05.464 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-1 << Server: Docker/20.10.11 (linux)
08:47:05.464 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "[\r][\n]"
08:47:05.464 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-1 << Date: Wed, 09 Feb 2022 14:47:03 GMT
08:47:05.464 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "9[\r][\n]"
08:47:05.464 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-1 << Transfer-Encoding: chunked
08:47:05.464 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "[0x2][0x0][0x0][0x0][0x0][0x0][0x0][0x1][\n]"
08:47:05.464 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "[\r][\n]"
08:47:05.465 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.MainClientExec - ex-00000008: connection can be kept alive for 3 MINUTES
08:47:05.465 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "1f[\r][\n]"
08:47:05.465 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "[0x2][0x0][0x0][0x0][0x0][0x0][0x0][0x17]goroutine 1 [running]:[\n]"
08:47:05.465 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "[\r][\n]"
08:47:05.465 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "14[\r][\n]"
08:47:05.465 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "[0x2][0x0][0x0][0x0][0x0][0x0][0x0][0xc]main.main()[\n]"
08:47:05.465 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "[\r][\n]"
08:47:05.465 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "47[\r][\n]"
08:47:05.465 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "[0x2][0x0][0x0][0x0][0x0][0x0][0x0]?[0x9]/go/src/github.com/testcontainers/moby-ryuk/main.go:36 +0x457[\n]"
08:47:05.465 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "[\r][\n]"
08:47:05.465 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "0[\r][\n]"
08:47:05.465 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-0 << "[\r][\n]"
08:47:05.467 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ep-00000006: releasing valid endpoint
08:47:05.467 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ep-00000006: releasing endpoint
08:47:05.467 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ep-00000006: connection http-outgoing-0 can be kept alive for 3 MINUTES
08:47:05.467 [docker-java-stream--742373632] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ep-00000006: connection released [route: {}->unix://localhost:2375][total available: 1; route allocated: 2 of 2147483647; total allocated: 2 of 2147483647]
08:47:05.526 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ep-00000007: releasing valid endpoint
08:47:05.526 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ep-00000007: releasing endpoint
08:47:05.526 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ep-00000007: connection http-outgoing-1 can be kept alive for 3 MINUTES
08:47:05.526 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ep-00000007: connection released [route: {}->unix://localhost:2375][total available: 2; route allocated: 2 of 2147483647; total allocated: 2 of 2147483647]
08:47:05.531 [Test worker] DEBUG o.t.s.c.g.d.c.command.AbstrDockerCmd - Cmd: 9e6b5072404f1a9420ad91a6e2b8a74b13b79df7bd79e3bc313dddf4844397f5,false
08:47:05.531 [Test worker] DEBUG o.t.s.c.g.d.c.e.InspectContainerCmdExec - GET: DefaultWebTarget{path=[/containers/9e6b5072404f1a9420ad91a6e2b8a74b13b79df7bd79e3bc313dddf4844397f5/json], queryParams={}}
08:47:05.532 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ex-00000009: preparing request execution
08:47:05.532 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.p.RequestAddCookies - Cookie spec selected: strict
08:47:05.532 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.p.RequestAuthCache - Auth cache not set in the context
08:47:05.532 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.ProtocolExec - ex-00000009: target auth state: UNCHALLENGED
08:47:05.532 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.ProtocolExec - ex-00000009: proxy auth state: UNCHALLENGED
08:47:05.532 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.ConnectExec - ex-00000009: acquiring connection with route {}->unix://localhost:2375
08:47:05.532 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ex-00000009: acquiring endpoint (3 MINUTES)
08:47:05.532 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ex-00000009: endpoint lease request (3 MINUTES) [route: {}->unix://localhost:2375][total available: 2; route allocated: 2 of 2147483647; total allocated: 2 of 2147483647]
08:47:05.532 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ex-00000009: endpoint leased [route: {}->unix://localhost:2375][total available: 1; route allocated: 2 of 2147483647; total allocated: 2 of 2147483647]
08:47:05.533 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ex-00000009: acquired ep-00000008
08:47:05.533 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ex-00000009: acquired endpoint ep-00000008
08:47:05.533 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.MainClientExec - ex-00000009: executing GET /v1.32/containers/9e6b5072404f1a9420ad91a6e2b8a74b13b79df7bd79e3bc313dddf4844397f5/json HTTP/1.1
08:47:05.533 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ep-00000008: start execution ex-00000009
08:47:05.533 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ep-00000008: executing exchange ex-00000009 over http-outgoing-1
08:47:05.533 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-1 >> GET /v1.32/containers/9e6b5072404f1a9420ad91a6e2b8a74b13b79df7bd79e3bc313dddf4844397f5/json HTTP/1.1
08:47:05.533 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-1 >> accept: application/json
08:47:05.533 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-1 >> Accept-Encoding: gzip, x-gzip, deflate
08:47:05.533 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-1 >> Host: localhost:2375
08:47:05.533 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-1 >> Connection: keep-alive
08:47:05.533 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-1 >> User-Agent: Apache-HttpClient/5.0.3 (Java/11.0.11)
08:47:05.533 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-1 >> "GET /v1.32/containers/9e6b5072404f1a9420ad91a6e2b8a74b13b79df7bd79e3bc313dddf4844397f5/json HTTP/1.1[\r][\n]"
08:47:05.533 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-1 >> "accept: application/json[\r][\n]"
08:47:05.533 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-1 >> "Accept-Encoding: gzip, x-gzip, deflate[\r][\n]"
08:47:05.533 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-1 >> "Host: localhost:2375[\r][\n]"
08:47:05.533 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-1 >> "Connection: keep-alive[\r][\n]"
08:47:05.533 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-1 >> "User-Agent: Apache-HttpClient/5.0.3 (Java/11.0.11)[\r][\n]"
08:47:05.533 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-1 >> "[\r][\n]"
08:47:05.535 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-1 << "HTTP/1.1 404 Not Found[\r][\n]"
08:47:05.535 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-1 << "Api-Version: 1.41[\r][\n]"
08:47:05.535 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-1 << "Content-Type: application/json[\r][\n]"
08:47:05.535 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-1 << "Docker-Experimental: false[\r][\n]"
08:47:05.535 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-1 << "Ostype: linux[\r][\n]"
08:47:05.535 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-1 << "Server: Docker/20.10.11 (linux)[\r][\n]"
08:47:05.535 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-1 << "Date: Wed, 09 Feb 2022 14:47:03 GMT[\r][\n]"
08:47:05.535 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-1 << "Content-Length: 98[\r][\n]"
08:47:05.535 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-1 << "[\r][\n]"
08:47:05.535 [Test worker] DEBUG c.g.d.z.s.o.a.hc.client5.http.wire - http-outgoing-1 << "{"message":"No such container: 9e6b5072404f1a9420ad91a6e2b8a74b13b79df7bd79e3bc313dddf4844397f5"}[\n]"
08:47:05.535 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-1 << HTTP/1.1 404 Not Found
08:47:05.535 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-1 << Api-Version: 1.41
08:47:05.535 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-1 << Content-Type: application/json
08:47:05.535 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-1 << Docker-Experimental: false
08:47:05.535 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-1 << Ostype: linux
08:47:05.535 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-1 << Server: Docker/20.10.11 (linux)
08:47:05.535 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-1 << Date: Wed, 09 Feb 2022 14:47:03 GMT
08:47:05.535 [Test worker] DEBUG c.g.d.z.s.o.a.h.client5.http.headers - http-outgoing-1 << Content-Length: 98
08:47:05.536 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.MainClientExec - ex-00000009: connection can be kept alive for 3 MINUTES
08:47:05.543 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.c.InternalHttpClient - ep-00000008: releasing valid endpoint
08:47:05.543 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ep-00000008: releasing endpoint
08:47:05.543 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ep-00000008: connection http-outgoing-1 can be kept alive for 3 MINUTES
08:47:05.544 [Test worker] DEBUG c.g.d.z.s.o.a.h.c.h.i.i.PoolingHttpClientConnectionManager - ep-00000008: connection released [route: {}->unix://localhost:2375][total available: 2; route allocated: 2 of 2147483647; total allocated: 2 of 2147483647]

Status 404: {"message":"No such container: 9e6b5072404f1a9420ad91a6e2b8a74b13b79df7bd79e3bc313dddf4844397f5"}

com.github.dockerjava.api.exception.NotFoundException: Status 404: {"message":"No such container: 9e6b5072404f1a9420ad91a6e2b8a74b13b79df7bd79e3bc313dddf4844397f5"}

    at app//org.testcontainers.shaded.com.github.dockerjava.core.DefaultInvocationBuilder.execute(DefaultInvocationBuilder.java:241)
    at app//org.testcontainers.shaded.com.github.dockerjava.core.DefaultInvocationBuilder.get(DefaultInvocationBuilder.java:202)
    at app//org.testcontainers.shaded.com.github.dockerjava.core.DefaultInvocationBuilder.get(DefaultInvocationBuilder.java:74)
    at app//org.testcontainers.shaded.com.github.dockerjava.core.exec.InspectContainerCmdExec.execute(InspectContainerCmdExec.java:31)
    at app//org.testcontainers.shaded.com.github.dockerjava.core.exec.InspectContainerCmdExec.execute(InspectContainerCmdExec.java:13)
    at app//org.testcontainers.shaded.com.github.dockerjava.core.exec.AbstrSyncDockerCmdExec.exec(AbstrSyncDockerCmdExec.java:21)
    at app//org.testcontainers.shaded.com.github.dockerjava.core.command.AbstrDockerCmd.exec(AbstrDockerCmd.java:35)
    at app//org.testcontainers.shaded.com.github.dockerjava.core.command.InspectContainerCmdImpl.exec(InspectContainerCmdImpl.java:52)
    at app//org.testcontainers.utility.ResourceReaper$2.lambda$$0(ResourceReaper.java:144)
    at app//org.testcontainers.shaded.org.awaitility.core.AbstractHamcrestCondition.lambda$new$0(AbstractHamcrestCondition.java:48)
    at app//org.testcontainers.shaded.org.awaitility.core.ConditionAwaiter$ConditionPoller.call(ConditionAwaiter.java:234)
    at app//org.testcontainers.shaded.org.awaitility.core.ConditionAwaiter$ConditionPoller.call(ConditionAwaiter.java:221)
    at java.base@11.0.11/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at app//org.testcontainers.shaded.org.awaitility.core.SameThreadExecutorService.execute(SameThreadExecutorService.java:79)
    at java.base@11.0.11/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140)
    at app//org.testcontainers.shaded.org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:100)
    at app//org.testcontainers.shaded.org.awaitility.core.AbstractHamcrestCondition.await(AbstractHamcrestCondition.java:86)
    at app//org.testcontainers.shaded.org.awaitility.core.ConditionFactory.until(ConditionFactory.java:939)
    at app//org.testcontainers.shaded.org.awaitility.core.ConditionFactory.until(ConditionFactory.java:645)
    at app//org.testcontainers.shaded.org.awaitility.core.ConditionFactory.until(ConditionFactory.java:662)
    at app//org.testcontainers.utility.ResourceReaper$2.<init>(ResourceReaper.java:143)
    at app//org.testcontainers.utility.ResourceReaper.start(ResourceReaper.java:136)
    at app//org.testcontainers.DockerClientFactory.client(DockerClientFactory.java:219)
    at app//org.testcontainers.containers.DockerComposeContainer.<init>(DockerComposeContainer.java:135)
    at app//org.testcontainers.containers.DockerComposeContainer.<init>(DockerComposeContainer.java:119)
    at app//org.testcontainers.containers.DockerComposeContainer.<init>(DockerComposeContainer.java:115)
kiview commented 2 years ago

I just now see that you are using DockerComposeContainer. Can you please share the logs for GenericContainer usage and see if it works?

sanimalp commented 2 years ago

Just to pile on, I am having what might be the same issue, using colima on mac, after having switched off docker-desktop but do not have sudo rights to symlink the socket to the colima one.

with the following code in a test:

 @Shared
    DockerImageName localstackImage = DockerImageName.parse("localstack/localstack:latest");

    @Shared
    LocalStackContainer localStack = new LocalStackContainer(localstackImage, false)
            .withServices(LocalStackContainer.Service.SNS)
            .withEnv("DEFAULT_REGION", "us-east-1");

and setting

docker context use colima
export TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE=${HOME}/.colima/docker.sock
export DOCKER_HOST="unix:///${HOME}/.colima/docker.sock"

I am getting:

java.lang.IllegalStateException: Ryuk failed to start
        at org.testcontainers.utility.ResourceReaper.start(ResourceReaper.java:156)
        at org.testcontainers.DockerClientFactory.client(DockerClientFactory.java:219)
        at org.testcontainers.DockerClientFactory$1.getDockerClient(DockerClientFactory.java:101)
        at com.github.dockerjava.api.DockerClientDelegate.authConfig(DockerClientDelegate.java:107)
        at org.testcontainers.containers.GenericContainer.start(GenericContainer.java:316)
        at org.testcontainers.spock.TestcontainersMethodInterceptor.startContainers_closure3(TestcontainersMethodInterceptor.groovy:83)

         Caused by:
        com.github.dockerjava.api.exception.NotFoundException: Status 404: {"message":"No such container: 3eed9f6c85cf794a974a406c4cb39eb0f7140e6db2ec6bc2ad545700adc7f52f"}
            at org.testcontainers.shaded.com.github.dockerjava.core.DefaultInvocationBuilder.execute(DefaultInvocationBuilder.java:241)
            at org.testcontainers.shaded.com.github.dockerjava.core.DefaultInvocationBuilder.get(DefaultInvocationBuilder.java:202)
            at org.testcontainers.shaded.com.github.dockerjava.core.DefaultInvocationBuilder.get(DefaultInvocationBuilder.java:74)
            at org.testcontainers.shaded.com.github.dockerjava.core.exec.InspectContainerCmdExec.execute(InspectContainerCmdExec.java:31)
            at org.testcontainers.shaded.com.github.dockerjava.core.exec.InspectContainerCmdExec.execute(InspectContainerCmdExec.java:13)
            at org.testcontainers.shaded.com.github.dockerjava.core.exec.AbstrSyncDockerCmdExec.exec(AbstrSyncDockerCmdExec.java:21)
            at org.testcontainers.shaded.com.github.dockerjava.core.command.AbstrDockerCmd.exec(AbstrDockerCmd.java:35)

setting the DOCKER_HOST helped to get past Could not find a valid Docker environment, but set that and now get this ryuk problem.

rottenha commented 2 years ago

I have the same problem w/colima, and I got it working by also disabling Ryuk, i.e. using

docker context use colima export TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE=${HOME}/.colima/docker.sock export DOCKER_HOST="unix:///${HOME}/.colima/docker.sock" export TESTCONTAINERS_RYUK_DISABLED=true

kiview commented 2 years ago

@sanimalp Can you please share the full logs, especially logs around Ryuk creation and startup? @rottenha This will mask the error, rather than fixing the root cause, since it will simply disable Ryuk, thereby leaving you without reliable resource cleanup.

benhexagon commented 2 years ago

The problem is most likely that Ryuk needs the docker socket endpoint from inside the Colima VM. Setting the environment variable TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE to /var/run/docker.sock and the DOCKER_HOST variable to unix:///${HOME}/.colima/docker.sock allowed me to run testcontainers with Colima.

kiview commented 2 years ago

TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE is the value that will be used for bind mounting the Docker socket into the Ryuk container, correct.

codingdiscer commented 2 years ago

I can confirm that this works - meaning setting only these 2 env vars (and not messing with Ryuk at all):

export TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE=/var/run/docker.sock
export DOCKER_HOST="unix://${HOME}/.colima/docker.sock"

Thank you @benhexagon for the suggestion, and @kiview for the follow-ups.

kiview commented 2 years ago

Thanks for confirming @codingdiscer, very happy that we could make your use case work! 🙌

Should we close this issue in this case? We have identified a working configuration for your setup, but the title of the issue is still correct since Testcontainers is currently not Docker context aware.

I'd be inclined to change the title accordingly and close this issue, if this is okay for you 🙂

codingdiscer commented 2 years ago

Yes, this issue can be closed. Go ahead and update the title as you see fit to better represent the issue, and to help others find the solution.

rottenha commented 2 years ago

@kiview Agreed, it is only a temporary workaround to disable it. Seem to work now. Thanks.

vasste commented 2 years ago

@kiview It seems that under MacOS /var/run/docker.sock doesn't work and DockerComposeContainer class use different path.

        // Ensure that compose can access docker. Since the container is assumed to be running on the same machine
        //  as the docker daemon, just mapping the docker control socket is OK.
        // As there seems to be a problem with mapping to the /var/run directory in certain environments (e.g. CircleCI)
        //  we map the socket file outside of /var/run, as just /docker.sock
        addFileSystemBind(DockerClientFactory.instance().getRemoteDockerUnixSocketPath(), "/docker.sock", READ_WRITE);
kiview commented 2 years ago

@vasste Sorry, but I don't get the context of your comment.

vasste commented 2 years ago

I tried all suggested solution under MacOS and they don't work. It tells either Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock DOCKER_HOST=unix:///Users/vstepanov/.lima/docker/sock/docker.sock TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE=/var/run/docker.sock or cannot connect. DOCKER_HOST=unix:///Users/vstepanov/.lima/docker/sock/docker.sock TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE=/Users/vstepanov/.lima/docker/sock/docker.sock

kiview commented 2 years ago

Are you specifically talking about using DockerComposeContainer with Colima, or about using Testcontainers with Colima in general?

vasste commented 2 years ago

Testcontainers with Colima.

kiview commented 2 years ago

In this case, the code snippet you have posted is unrelated and there must be some other issue with your setup. See this comment for a working example config from the Testcontainers side: https://github.com/testcontainers/testcontainers-java/issues/5034#issuecomment-1036433226

vasste commented 2 years ago

It doesn't work under MacOS unfortunately. It cannot work because the result for Ryak is /var/run/docker.sock:/var/run/docker.sock:rw and Colima doesn't create sock file under /var/run folder.

kiview commented 2 years ago

That's what TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE is for.

vasste commented 2 years ago

It's used as binds.add(new Bind(<value of TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE>, new Volume("/var/run/docker.sock"))); in testcontainers 1.16.X version How it can work if override points to non existed destination?

vasste commented 2 years ago

It seems that I was wrong and the problem is in permission because I wasn't able to run the testcontainers/ryuk:0.3.3 `vstepanov@vstepanov-mac ~ % docker run -v /Users/vstepanov/.lima/docker/sock/docker.sock:/var/run/docker.sock testcontainers/ryuk:0.3.3 2022/04/22 14:59:29 Pinging Docker... panic: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

goroutine 1 [running]: main.main() /go/src/github.com/testcontainers/moby-ryuk/main.go:36 +0x457`

pbasista commented 1 year ago

the problem is in permission

Yes, that is likely to occur when bind-mounting a volume (e.g. a file) that is owned by non-root users. The reason is that the owner user IDs and owner group IDs of such files within the Docker container remain the same as in the host OS. They might, however, represent different users and different groups.

Files owned by root are unaffected by this because its user ID is typically 0 everywhere.

tiagomota commented 1 year ago

Hey 👋 During my adventure of setting up a working environment to run testcontainers on macOS using a Lima-VM based solution, I stumbled upon this issue. It helped me figure out some details. Therefore, I want to share my findings, so that others in the same situation can try for themselves.

Setup with Colima + testcontainers

During my tests, I couldn't make ryuk work with colima out of the box. I managed to do it by starting the VM with an assigned IP and then overriding TESTCONTAINERS_HOST_OVERRIDE with it. From that point onwards, together with what is described in the documentation, all my project's tests worked flawlessly.

  1. Install Colima: brew install colima
  2. Install docker: brew install docker
  3. Start Colima with an assigned IP address: colima start --network-address
  4. Colima automatically creates and sets a docker context named colima, therefore docker commands on the command line work out of the box
  5. To use with testcontainers, make sure the following environment variables are set on your session:
    • export TESTCONTAINERS_HOST_OVERRIDE=$(colima ls -j | jq -r '.address')
    • export TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE=/var/run/docker.sock
    • export DOCKER_HOST=unix://$HOME/.colima/default/docker.sock

Setup with Lima-VM + testcontainers

This one was a bit trickier. Based on the thought process behind the colima setup, I searched how I could get an IP as I had with colima. Eventually, I got to this issue, which lead me to the Lima Network documentation. From there, I tried using socket_vmnet to get an IP address of the VM I could use on TESTCONTAINERS_HOST_OVERRIDE. From that moment, all my project's tests worked flawlessly with ryuk enabled.

  1. Install Lima: brew install lima
  2. Install docker: brew install docker
  3. Download and extract socket_vmnet: mkdir -p /tmp/socket_vmnet && curl -L https://github.com/lima-vm/socket_vmnet/archive/refs/tags/v1.0.0-alpha.0.tar.gz | tar --strip-components=1 -xvz -C /tmp/socket_vmnet
  4. Install socket_vmnet: cd /tmp/socket_vmnet && sudo make PREFIX=/opt/socket_vmnet install && cd -
  5. Add Lima to sudoers to enable it to start and stop [socket_vmnet](socket_vmnet: limactl sudoers | sudo tee /etc/sudoers.d/lima
  6. Start a Lima with rootful docker runtime: limactl start --name=docker template://docker-rootful | true
  7. Edit the configuration of the newly created VM: limactl stop docker && limactl edit docker
  8. Add the following yaml to end of file, to set the network in the VM to bridged:
    networks:
    - lima: bridged
  9. For command line usage:
    • Create a new lima-docker context: docker context create lima-docker --docker "host=unix://$HOME/.lima/docker/sock/docker.sock"
    • Use that new context: docker context use lima-docker
    • Test it: docker run hello-world
  10. To use with testcontainers, make sure the following environment variables are set on your session:
    • export TESTCONTAINERS_HOST_OVERRIDE=$(limactl shell docker ip a show lima0 | grep 'inet '| awk '{print $2}' | cut -f1 -d"/")
    • export TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE=/var/run/docker.sock
    • export DOCKER_HOST=$(limactl list docker --format 'unix://{{.Dir}}/sock/docker.sock')

There might be better ways of setting up Lima-VM, but colima setup was easier and good enough for me, so I stopped there.

@kiview I'm not sure if this is the best place to share info like this. If not, sorry in advance 🙏

skagedal commented 1 year ago

I got things to finally work using the method @tiagomota described – i.e., in addition to what the docs are saying, I needed to also run colima with --network-address and set TESTCONTAINERS_HOST_OVERRIDE as per above.

~A small gotcha that might save someone else some time: colima start --network-address is not the right syntax (at least for me on colima 0.4.6) and will fail with a confusing error as it will think --network-address is the profile name, colima start default --network-address worked.~ [that was just my bad, one of the hyphens was somehow an em-dash]

datavisortedyu commented 1 year ago

I have a Mac m2. I followed the guide above: installed colima, started colima with --network-address:

$ colima status
INFO[0000] colima is running using QEMU
INFO[0000] arch: aarch64
INFO[0000] runtime: docker
INFO[0000] mountType: sshfs
INFO[0000] address: 192.168.106.2
INFO[0000] socket: unix:///Users/zhihongyu/.colima/default/docker.sock
DOCKER_HOST=unix:///Users/zhihongyu/.colima/default/docker.sock
TESTCONTAINERS_HOST_OVERRIDE=x.y.z
TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE=/var/run/docker.sock

But I always got (with or without the symlink mentioned above):

19:38:43.602 [main] ERROR 🐳 [yandex/clickhouse-server:20.8] - Could not start container
java.lang.IllegalStateException: Container exited with code 2
        at org.testcontainers.containers.GenericContainer.tryStart(GenericContainer.java:495)
        at org.testcontainers.containers.GenericContainer.lambda$doStart$0(GenericContainer.java:329)
        at org.rnorth.ducttape.unreliables.Unreliables.retryUntilSuccess(Unreliables.java:81)
        at org.testcontainers.containers.GenericContainer.doStart(GenericContainer.java:327)
        at org.testcontainers.containers.GenericContainer.start(GenericContainer.java:315)
19:49:00.261 [main] ERROR 🐳 [yandex/clickhouse-server:20.8] - Log output from the failed container:
runtime: failed to create new OS thread (have 2 already; errno=22)
fatal error: newosproc

runtime stack:
runtime.throw(0x4cb21f, 0x9)
        /usr/local/go/src/runtime/panic.go:566 +0x95
runtime.newosproc(0xc420022000, 0xc420031fc0)
        /usr/local/go/src/runtime/os_linux.go:160 +0x194
runtime.newm(0x4d6db8, 0x0)
        /usr/local/go/src/runtime/proc.go:1572 +0x132
runtime.main.func1()
        /usr/local/go/src/runtime/proc.go:126 +0x36
runtime.systemstack(0x53ae00)
        /usr/local/go/src/runtime/asm_amd64.s:298 +0x79
runtime.mstart()
        /usr/local/go/src/runtime/proc.go:1079

goroutine 1 [running]:
runtime.systemstack_switch()
        /usr/local/go/src/runtime/asm_amd64.s:252 fp=0xc42001c768 sp=0xc42001c760
runtime.main()
        /usr/local/go/src/runtime/proc.go:127 +0x6c fp=0xc42001c7c0 sp=0xc42001c768
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:2086 +0x1 fp=0xc42001c7c8 sp=0xc42001c7c0

Please let me know what else I should do.

Darwin Zhihongs-MBP-2.attlocal.net 22.3.0 Darwin Kernel Version 22.3.0: Thu Jan  5 20:50:36 PST 2023; root:xnu-8792.81.2~2/RELEASE_ARM64_T6020 arm64

Thanks

datavisortedyu commented 1 year ago

Unsetting TESTCONTAINERS_HOST_OVERRIDE env variable and removing /default from the path of DOCKER_HOST, I still encounter:

20:49:07.425 [main] ERROR 🐳 [yandex/clickhouse-server:20.8] - Could not start container
java.lang.IllegalStateException: Container exited with code 2
        at org.testcontainers.containers.GenericContainer.tryStart(GenericContainer.java:495)
codingdiscer commented 1 year ago

@datavisortedyu - the stacktrace that you posted might not indicate the root cause error that we need to solve. I'm not familiar with the yandex/clickhouse-server image, so there are other reasons that it might not be starting up.

Are there any other messages in the logs that might give us more info? I'll note that the exception message that you posted isn't the same as the message at the start of this thread.

Testcontainers is (more-or-less) a wrapper around Docker. My point there is to ask this question - are you able to get your image running via Docker commands from the command line directly from your workstation (either via a simple Dockerfile or a docker-compose file) ?

Lastly, I might need to take back my suggestion of changing your DOCKER_HOST value. What you had might be appropriate for you, if that's the path that you found by running the colima status command. I now think the error you are facing might be different than what I originally posted here for.

datavisortedyu commented 1 year ago

With alternate yandex/clickhouse-server image for ARM, I am able to get over the error I posted yesterday.

Thanks for the response.

bigunyak commented 10 months ago

With freshly installed colima and testcontaines-1.17.5, I'm able to run tests by setting these environment variables:

export TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE=/var/run/docker.sock
export DOCKER_HOST=unix:///Users/myuser/.colima/default/docker.sock

But I'm getting a bunch of warnings in the logs:

WARN 88836 --- [containers-ryuk] o.t.utility.RyukResourceReaper           : Can not connect to Ryuk at localhost:32785

Not sure what to do with that.

eddumelendez commented 10 months ago

Documentation has been updated. Also, Testcontainers Desktop with embedded runtime works OOTB with Testcontainers

bigunyak commented 10 months ago

Starting colima with --network-address and setting TESTCONTAINERS_HOST_OVERRIDE like it now mentioned in the docs, removed all warnings about Ryuk that I had. Thanks a lot!

fsantiag commented 8 months ago

This issue seems to persist, at least in my M2 machine. I am using the testcontainers latest version and I have set the environment variables as described in the documentation like this:

export TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE=/var/run/docker.sock
export TESTCONTAINERS_HOST_OVERRIDE=$(colima ls -j | jq -r '.address')
export DOCKER_HOST="unix://${HOME}/.colima/default/docker.sock"

Running the test I keep getting:

java.lang.IllegalStateException: Could not connect to Ryuk at null:32772

I tried disabling Ryuk as previously suggested and that allows the container to start. However the container startup fails. Feels like somehow a timeout is happening because we can't reach out to the container. Any other thoughts?

Error ``` org.testcontainers.containers.ContainerLaunchException: Container startup failed at org.testcontainers.containers.GenericContainer.doStart(GenericContainer.java:349) at org.testcontainers.containers.GenericContainer.start(GenericContainer.java:322) at com.glovoapp.courier_activation.referrals.api.TestIT.myTest(TestIT.java:25) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:728) at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156) at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:147) at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestTemplateMethod(TimeoutExtension.java:94) at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103) at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93) at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:92) at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:86) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:218) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:214) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:139) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:69) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35) at org.junit.platform.engine.support.hierarchical.NodeTestTask$DefaultDynamicTestExecutor.execute(NodeTestTask.java:226) at org.junit.platform.engine.support.hierarchical.NodeTestTask$DefaultDynamicTestExecutor.execute(NodeTestTask.java:204) at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:142) at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.lambda$execute$2(TestTemplateTestDescriptor.java:110) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762) at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276) at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:110) at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:44) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35) at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:107) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86) at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86) at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:110) at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:90) at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:85) at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:62) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94) at jdk.proxy2/jdk.proxy2.$Proxy5.stop(Unknown Source) at org.gradle.api.internal.tasks.testing.worker.TestWorker$3.run(TestWorker.java:193) at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:129) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:100) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:60) at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:113) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:65) at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) Caused by: org.rnorth.ducttape.RetryCountExceededException: Retry limit hit with exception at org.rnorth.ducttape.unreliables.Unreliables.retryUntilSuccess(Unreliables.java:88) at org.testcontainers.containers.GenericContainer.doStart(GenericContainer.java:334) ... 130 more Caused by: org.testcontainers.containers.ContainerLaunchException: Could not create/start container at org.testcontainers.containers.GenericContainer.tryStart(GenericContainer.java:542) at org.testcontainers.containers.GenericContainer.lambda$doStart$0(GenericContainer.java:344) at org.rnorth.ducttape.unreliables.Unreliables.retryUntilSuccess(Unreliables.java:81) ... 131 more Caused by: org.testcontainers.containers.ContainerLaunchException: Timed out waiting for container port to open (null ports: [32773] should be listening) at org.testcontainers.containers.wait.strategy.HostPortWaitStrategy.waitUntilReady(HostPortWaitStrategy.java:102) at org.testcontainers.containers.wait.strategy.AbstractWaitStrategy.waitUntilReady(AbstractWaitStrategy.java:52) at org.testcontainers.containers.GenericContainer.waitUntilContainerStarted(GenericContainer.java:953) at org.testcontainers.containers.GenericContainer.tryStart(GenericContainer.java:485) ... 133 more Retry limit hit with exception org.rnorth.ducttape.RetryCountExceededException: Retry limit hit with exception at app//org.rnorth.ducttape.unreliables.Unreliables.retryUntilSuccess(Unreliables.java:88) at app//org.testcontainers.containers.GenericContainer.doStart(GenericContainer.java:334) at app//org.testcontainers.containers.GenericContainer.start(GenericContainer.java:322) at app//com.glovoapp.courier_activation.referrals.api.TestIt.mytest(TestIt.java:25) at java.base@17.0.9/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base@17.0.9/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base@17.0.9/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base@17.0.9/java.lang.reflect.Method.invoke(Method.java:568) at app//org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:728) at app//org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) at app//org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156) at app//org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:147) at app//org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestTemplateMethod(TimeoutExtension.java:94) at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103) at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93) at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:92) at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:86) at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:218) at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:214) at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:139) at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:69) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151) at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) at app//org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask$DefaultDynamicTestExecutor.execute(NodeTestTask.java:226) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask$DefaultDynamicTestExecutor.execute(NodeTestTask.java:204) at app//org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:142) at app//org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.lambda$execute$2(TestTemplateTestDescriptor.java:110) at java.base@17.0.9/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) at java.base@17.0.9/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) at java.base@17.0.9/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) at java.base@17.0.9/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) at java.base@17.0.9/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) at java.base@17.0.9/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) at java.base@17.0.9/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) at java.base@17.0.9/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) at java.base@17.0.9/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) at java.base@17.0.9/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762) at java.base@17.0.9/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276) at java.base@17.0.9/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) at java.base@17.0.9/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) at java.base@17.0.9/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) at java.base@17.0.9/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) at java.base@17.0.9/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) at java.base@17.0.9/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) at java.base@17.0.9/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) at java.base@17.0.9/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) at java.base@17.0.9/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base@17.0.9/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) at java.base@17.0.9/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276) at java.base@17.0.9/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) at java.base@17.0.9/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) at java.base@17.0.9/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) at java.base@17.0.9/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) at java.base@17.0.9/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) at java.base@17.0.9/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base@17.0.9/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) at app//org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:110) at app//org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:44) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151) at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) at app//org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) at java.base@17.0.9/java.util.ArrayList.forEach(ArrayList.java:1511) at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) at app//org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) at java.base@17.0.9/java.util.ArrayList.forEach(ArrayList.java:1511) at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) at app//org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35) at app//org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) at app//org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54) at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:107) at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88) at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54) at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67) at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52) at app//org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114) at app//org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86) at app//org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86) at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:110) at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:90) at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:85) at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:62) at java.base@17.0.9/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base@17.0.9/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base@17.0.9/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base@17.0.9/java.lang.reflect.Method.invoke(Method.java:568) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94) at jdk.proxy2/jdk.proxy2.$Proxy5.stop(Unknown Source) at org.gradle.api.internal.tasks.testing.worker.TestWorker$3.run(TestWorker.java:193) at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:129) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:100) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:60) at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:113) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:65) at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) Caused by: org.testcontainers.containers.ContainerLaunchException: Could not create/start container at app//org.testcontainers.containers.GenericContainer.tryStart(GenericContainer.java:542) at app//org.testcontainers.containers.GenericContainer.lambda$doStart$0(GenericContainer.java:344) at app//org.rnorth.ducttape.unreliables.Unreliables.retryUntilSuccess(Unreliables.java:81) ... 131 more Caused by: org.testcontainers.containers.ContainerLaunchException: Timed out waiting for container port to open (null ports: [32773] should be listening) at app//org.testcontainers.containers.wait.strategy.HostPortWaitStrategy.waitUntilReady(HostPortWaitStrategy.java:102) at app//org.testcontainers.containers.wait.strategy.AbstractWaitStrategy.waitUntilReady(AbstractWaitStrategy.java:52) at app//org.testcontainers.containers.GenericContainer.waitUntilContainerStarted(GenericContainer.java:953) at app//org.testcontainers.containers.GenericContainer.tryStart(GenericContainer.java:485) ... 133 more ```
j3t commented 8 months ago

I am using the testcontainers latest version and I have set the environment variables as described in the documentation like this: ...

I have the same problem from time to time within Intellij. After restarting Intellij, it works as expected. I guess it is related to updated environment variables which are not picked up by Intellij.

jules-vanneste commented 8 months ago

Same problem since this week with command colima start (_Could not connect to Ryuk at null:32772_) , when I run the command colima ls -j the result doesn't contain address field... So, it can't work :

➜  ~ colima ls -j                                                  
{"name":"default","status":"Running","arch":"aarch64","cpus":2,"memory":2147483648,"disk":64424509440,"runtime":"docker"}

✅ It works when I start with commande colima start --network-address :

➜  ~ colima ls -j                  
{"name":"default","status":"Running","arch":"aarch64","cpus":2,"memory":2147483648,"disk":64424509440,"address":"192.168.106.2","runtime":"docker"}

After running colima template, I think it could be handled by this setting but I'm not sure for that (and for the value...) :

# Network configurations for the virtual machine.
network:
  # Assign reachable IP address to the virtual machine.
  # NOTE: this is currently macOS only and ignored on Linux.
  # Default: false
  address: false
praveensvsrk commented 6 months ago

Documentation has been updated. Also, Testcontainers Desktop with embedded runtime works OOTB with Testcontainers

Is there a way to run testcontainers desktop runtime without signing up?

onrclk commented 5 months ago

after reading the issue and applying suggested solutions above and according to documentation

starting colima with the following command

colima start --arch x86_64 --memory 4 --network-address and setting environment variables with the following

DOCKER_HOST=unix:///Users/${HOME}/.colima/default/docker.sock
TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE=/var/run/docker.sock
TESTCONTAINERS_HOST_OVERRIDE=$(colima ls -j | jq -r '.address')

is leading to connection refused on running IT tests in IntelliJ

2024-04-25 23:48:57 WARNING org.testcontainers.utility.ResourceReaper Can not connect to Ryuk at 192.168.106.2:55000 java.net.ConnectException: Connection refused (Connection refused) at java.base/java.net.PlainSocketImpl.socketConnect(Native Method) at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:412) at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:255) at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:237) at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)

colima version

colima version v0.5.6 git commit: ceef812c32ab74a49df9f270e048e5dced85f932

runtime: docker arch: x86_64 client: v25.0.3 server: v23.0.6

colima status

INFO[0000] colima is running using QEMU INFO[0000] arch: x86_64 INFO[0000] runtime: docker INFO[0000] mountType: sshfs INFO[0000] address: 192.168.106.2 INFO[0000] socket: unix:///Users/XXX/.colima/default/docker.sock

docker version
Client: Cloud integration: v1.0.35+desktop.10 Version: 25.0.3 API version: 1.42 (downgraded from 1.44) Go version: go1.21.6 Git commit: 4debf41 Built: Tue Feb 6 21:13:26 2024 OS/Arch: darwin/arm64 Context: colima

Server: Engine: Version: 23.0.6 API version: 1.42 (minimum version 1.12) Go version: go1.20.8 Git commit: 9dbdbd4b6d7681bd18c897a6ba0376073c2a72ff Built: Thu Sep 7 06:11:07 2023 OS/Arch: linux/amd64 Experimental: false containerd: Version: v1.7.2 GitCommit: 0cae528dd6cb557f7201036e9f43420650207b58 runc: Version: 1.1.7 GitCommit: 860f061b76bb4fc671f0f9e900f7d80ff93d4eb7 docker-init: Version: 0.19.0 GitCommit:

on M3 Pro Sonoma 14.4.1

yeongsheng-tan commented 5 months ago

after reading the issue and applying suggested solutions above and according to documentation

starting colima with the following command

colima start --arch x86_64 --memory 4 --network-address and setting environment variables with the following

DOCKER_HOST=unix:///Users/${HOME}/.colima/default/docker.sock
TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE=/var/run/docker.sock
TESTCONTAINERS_HOST_OVERRIDE=$(colima ls -j | jq -r '.address')

is leading to connection refused on running IT tests in IntelliJ

2024-04-25 23:48:57 WARNING org.testcontainers.utility.ResourceReaper Can not connect to Ryuk at 192.168.106.2:55000 java.net.ConnectException: Connection refused (Connection refused) at java.base/java.net.PlainSocketImpl.socketConnect(Native Method) at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:412) at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:255) at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:237) at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)

colima version colima version v0.5.6 git commit: ceef812c32ab74a49df9f270e048e5dced85f932 runtime: docker arch: x86_64 client: v25.0.3 server: v23.0.6 colima status INFO[0000] colima is running using QEMU INFO[0000] arch: x86_64 INFO[0000] runtime: docker INFO[0000] mountType: sshfs INFO[0000] address: 192.168.106.2 INFO[0000] socket: unix:///Users/XXX/.colima/default/docker.sock

docker version Client: Cloud integration: v1.0.35+desktop.10 Version: 25.0.3 API version: 1.42 (downgraded from 1.44) Go version: go1.21.6 Git commit: 4debf41 Built: Tue Feb 6 21:13:26 2024 OS/Arch: darwin/arm64 Context: colima Server: Engine: Version: 23.0.6 API version: 1.42 (minimum version 1.12) Go version: go1.20.8 Git commit: 9dbdbd4b6d7681bd18c897a6ba0376073c2a72ff Built: Thu Sep 7 06:11:07 2023 OS/Arch: linux/amd64 Experimental: false containerd: Version: v1.7.2 GitCommit: 0cae528dd6cb557f7201036e9f43420650207b58 runc: Version: 1.1.7 GitCommit: 860f061b76bb4fc671f0f9e900f7d80ff93d4eb7 docker-init: Version: 0.19.0 GitCommit:

on M3 Pro Sonoma 14.4.1

These env vars worked for me locally:

  colima start --vm-type vz
  docker context use colima
  export TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE=${HOME}/.colima/docker.sock
  export DOCKER_HOST="unix:///${HOME}/.colima/docker.sock"
  export TESTCONTAINERS_RYUK_DISABLED=true

Apple MacBook Pro M2 Max Sonoma 14.4.1 Docker version 25.0.4-rd, build c4cd0a9 Docker Compose version v2.24.7 colima version 0.6.8

onrclk commented 5 months ago

After switching back to 0.6.8 via homebrew and

1) colima start --arch x86_64 --memory 4 --network-address

DOCKER_HOST=unix:///Users/$USER/.colima/default/docker.sock;
TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE=/var/run/docker.sock

and

docker context use colima without starting docker client manually did work and now i'm able to start container within colima