Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: Testcontainers unable to connect to Ruyk #9467

Open
patrickuhlmann opened this issue Oct 28, 2024 · 2 comments
Open

[Bug]: Testcontainers unable to connect to Ruyk #9467

patrickuhlmann opened this issue Oct 28, 2024 · 2 comments
Labels

Comments

@patrickuhlmann
Copy link

Module

MySQL

Testcontainers version

1.20.3

Using the latest Testcontainers version?

Yes

Host OS

Debian GNU/Linux 12 (bookworm)

Host Arch

AMD64

Docker version

Client: Docker Engine - Community
Version: 27.3.1
API version: 1.47
Go version: go1.22.7
Git commit: ce12230
Built: Fri Sep 20 11:41:11 2024
OS/Arch: linux/amd64
Context: default

Server: Docker Engine - Community
Engine:
Version: 27.3.1
API version: 1.47 (minimum version 1.24)
Go version: go1.22.7
Git commit: 41ca978
Built: Fri Sep 20 11:41:11 2024
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.7.22
GitCommit: 7f7fdf5fed64eb6a7caf99b3e12efcf9d60e311c
runc:
Version: 1.1.14
GitCommit: v1.1.14-0-g2c9f560
docker-init:
Version: 0.19.0
GitCommit: de40ad0

What happened?

Using the following (public) minimal reproduction repository: https://codeberg.org/patrickuhlmann/tc_sample

When I run:

git clone https://codeberg.org/patrickuhlmann/tc_sample.git
cd tc_sample/
docker run -it -v "$(pwd)":/src -v /var/run/docker.sock:/var/run/docker.sock -w /src --rm maven:3.9.9-eclipse-temurin-21 mvn verify

The test fails because Test containers cannot startup Ryuk. I am unsure what the problem is because I only encounter it on one of my machines. That machine is running an 12th Gen Intel(R) Core(TM) i3-1220P CPU and Debian GNU/Linux 12 (bookworm).

On another of my machines running ArchLinux with the same docker version and the same steps the issue does not appear.

As far as I know, I did not do any special configuration on the machine that does not work and it used to work (about two months) ago but I cannot say exactly what has changed (system updates, docker version, testcontainers version).

Do you have any idea what causes this different behavior between different machines and/or how to better analyze it?

Relevant log output

15:37:46.620 [main] INFO org.testcontainers.images.PullPolicy -- Image pull policy will be performed by: DefaultPullPolicy()
15:37:46.622 [main] INFO org.testcontainers.utility.ImageNameSubstitutor -- Image name substitution will be performed by: DefaultImageNameSubstitutor (composite of 'ConfigurationFileImageNameSubstitutor' and 'PrefixingImageNameSubstitutor')
15:37:46.640 [main] INFO org.testcontainers.DockerClientFactory -- Testcontainers version: 1.20.3
15:37:46.893 [main] INFO org.testcontainers.dockerclient.DockerClientProviderStrategy -- Found Docker environment with local Unix socket (unix:///var/run/docker.sock)
15:37:46.907 [main] INFO org.testcontainers.DockerClientFactory -- Docker host IP address is 172.17.0.1
15:37:46.917 [main] INFO org.testcontainers.DockerClientFactory -- Connected to docker:
Server Version: 27.3.1
API Version: 1.47
Operating System: Debian GNU/Linux 12 (bookworm)
Total Memory: 63880 MB
15:37:46.983 [main] INFO tc.testcontainers/ryuk:0.9.0 -- Creating container for image: testcontainers/ryuk:0.9.0
15:37:46.988 [main] INFO org.testcontainers.utility.RegistryAuthLocator -- Failure when attempting to lookup auth config. Please ignore if you don't have images in an authenticated registry. Details: (dockerImageName: testcontainers/ryuk:0.9.0, configFile: /root/.docker/config.json, configEnv: DOCKER_AUTH_CONFIG). Falling back to docker-java default behaviour. Exception message: Status 404: No config supplied. Checked in order: /root/.docker/config.json (file not found), DOCKER_AUTH_CONFIG (not set)
15:37:49.173 [main] INFO tc.testcontainers/ryuk:0.9.0 -- Container testcontainers/ryuk:0.9.0 is starting: a188ce9daa665d13756ba90d810d5560304fde003e45164bdfcda42edb7f9286
15:37:50.442 [main] INFO tc.testcontainers/ryuk:0.9.0 -- Container testcontainers/ryuk:0.9.0 started in PT3.458906264S
15:37:55.449 [testcontainers-ryuk] WARN org.testcontainers.utility.RyukResourceReaper -- Can not connect to Ryuk at 172.17.0.1:32809
java.net.SocketTimeoutException: Connect timed out
at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:546)
at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:592)
at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)
at java.base/java.net.Socket.connect(Socket.java:751)
at org.testcontainers.utility.RyukResourceReaper.lambda$null$1(RyukResourceReaper.java:105)
at org.rnorth.ducttape.ratelimits.RateLimiter.doWhenReady(RateLimiter.java:27)
at org.testcontainers.utility.RyukResourceReaper.lambda$maybeStart$2(RyukResourceReaper.java:101)
at java.base/java.lang.Thread.run(Thread.java:1583)

Additional Information

No response

@patrickuhlmann
Copy link
Author

It seems the problem appeared when updating the system from Docker 26.0.1 to 27.3.1.

I check the log of the last time that it worked

02:47:55.395 [main] INFO org.testcontainers.DockerClientFactory -- Docker host IP address is 172.17.0.1
02:47:55.410 [main] INFO org.testcontainers.DockerClientFactory -- Connected to docker: 
  Server Version: 26.0.1
  API Version: 1.45
  Operating System: Debian GNU/Linux 12 (bookworm)
  Total Memory: 63880 MB
02:47:55.454 [main] INFO tc.testcontainers/ryuk:0.8.1 -- Creating container for image: testcontainers/ryuk:0.8.1
02:47:55.458 [main] INFO org.testcontainers.utility.RegistryAuthLocator -- Failure when attempting to lookup auth config. Please ignore if you don't have images in an authenticated registry. Details: (dockerImageName: testcontainers/ryuk:0.8.1, configFile: /root/.docker/config.json, configEnv: DOCKER_AUTH_CONFIG). Falling back to docker-java default behaviour. Exception message: Status 404: No config supplied. Checked in order: /root/.docker/config.json (file not found), DOCKER_AUTH_CONFIG (not set)
02:47:58.274 [main] INFO tc.testcontainers/ryuk:0.8.1 -- Container testcontainers/ryuk:0.8.1 is starting: 4f715104753b1568f3993ceedd445e07f407ef3fc6e8f8cbf735bfd4b6063dde
02:47:59.731 [main] INFO tc.testcontainers/ryuk:0.8.1 -- Container testcontainers/ryuk:0.8.1 started in PT4.276939019S
02:47:59.734 [main] INFO org.testcontainers.utility.RyukResourceReaper -- Ryuk started - will monitor and terminate Testcontainers containers on JVM exit
02:47:59.734 [main] INFO org.testcontainers.DockerClientFactory -- Checking the system...
02:47:59.734 [main] INFO org.testcontainers.DockerClientFactory -- ✔︎ Docker server version should be at least 1.6.0

@vishcious
Copy link

i downgraded my docker version to check the above. Still unable to start with the following error

I have also turned the logging level to debug. Strange since I can still start the ryuk container with docker commands at the shell. Is it possible to log/see the docker command emitted by testcontainers to start ryuk. I do not know how to get at the ryuk container logs either or know if there are any logs

FYI, my docker engine is running in a lima VM and i have setup the testcontainers properties to talk to the lima VM docker sock as required

Any thing else I can try?

[INFO] Running mcp.estimates.controller.HealthLivenessIT
16:05:45.806 [main] INFO  org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Found @SpringBootConfiguration mcp.estimates.App for test class mcp.estimates.controller.HealthLivenessIT
16:05:45.914 [main] DEBUG org.testcontainers.utility.TestcontainersConfiguration - Testcontainers configuration overrides will be loaded from file:/Users/viswanathgnanasekaranuma/.testcontainers.properties
16:05:45.918 [main] INFO  org.testcontainers.images.PullPolicy - Image pull policy will be performed by: DefaultPullPolicy()
16:05:45.920 [main] INFO  org.testcontainers.utility.ImageNameSubstitutor - Image name substitution will be performed by: DefaultImageNameSubstitutor (composite of 'ConfigurationFileImageNameSubstitutor' and 'PrefixingImageNameSubstitutor')
16:05:45.979 [main] DEBUG org.testcontainers.containers.ParsedDockerComposeFile - Resolved dependency image for Docker Compose in /Users/viswanathgnanasekaranuma/projects/mcp-estimates/docker-compose.yml: flyway/flyway
16:05:45.985 [main] DEBUG org.testcontainers.containers.ParsedDockerComposeFile - Resolved dependency image for Docker Compose in /Users/viswanathgnanasekaranuma/projects/mcp-estimates/docker-compose.yml: postgres:16.3
16:05:45.986 [main] DEBUG org.testcontainers.containers.ParsedDockerComposeFile - Resolved dependency image for Docker Compose in /Users/viswanathgnanasekaranuma/projects/mcp-estimates/docker-compose.yml: wiremock/wiremock:latest
16:05:45.986 [main] DEBUG org.testcontainers.containers.ParsedDockerComposeFile - Resolved dependency image for Docker Compose in /Users/viswanathgnanasekaranuma/projects/mcp-estimates/docker-compose.yml: bitnami/zookeeper:latest
16:05:45.986 [main] DEBUG org.testcontainers.containers.ParsedDockerComposeFile - Resolved dependency image for Docker Compose in /Users/viswanathgnanasekaranuma/projects/mcp-estimates/docker-compose.yml: bitnami/kafka:latest
16:05:45.994 [main] INFO  org.testcontainers.DockerClientFactory - Testcontainers version: 1.20.4
16:05:46.193 [main] DEBUG org.testcontainers.dockerclient.DockerClientProviderStrategy - Trying out strategy: TestcontainersHostPropertyClientProviderStrategy
16:05:46.280 [main] DEBUG org.testcontainers.shaded.com.github.dockerjava.core.command.AbstrDockerCmd - Cmd: 
16:05:46.386 [main] INFO  org.testcontainers.dockerclient.DockerClientProviderStrategy - Found Docker environment with Testcontainers Host with tc.host=unix:///Users/viswanathgnanasekaranuma/.lima/docker26/sock/docker.sock
16:05:46.386 [main] DEBUG org.testcontainers.dockerclient.DockerClientProviderStrategy - Transport type: 'httpclient5', Docker host: 'unix:///Users/viswanathgnanasekaranuma/.lima/docker26/sock/docker.sock'
16:05:46.386 [main] DEBUG org.testcontainers.dockerclient.DockerClientProviderStrategy - Checking Docker OS type for Testcontainers Host with tc.host=unix:///Users/viswanathgnanasekaranuma/.lima/docker26/sock/docker.sock
16:05:46.387 [main] INFO  org.testcontainers.DockerClientFactory - Docker host IP address is localhost
16:05:46.387 [main] DEBUG org.testcontainers.DockerClientFactory - Docker info: {CDISpecDirs=[], NGoroutines=55, Name=lima-docker26, Swarm={NodeID=, NodeAddr=, LocalNodeState=inactive, ControlAvailable=false, Error=, RemoteManagers=null}, RuncCommit={ID=v1.1.14-0-g2c9f560, Expected=v1.1.14-0-g2c9f560}, OSVersion=24.04, Runtimes={io.containerd.runc.v2={path=runc}, runc={path=runc}}, ID=09d4e307-7116-477d-912a-24b89637763d, DriverStatus=[[Backing Filesystem, extfs], [Supports d_type, true], [Using metacopy, false], [Native Overlay Diff, false], [userxattr, true]], BridgeNfIptables=true, LiveRestoreEnabled=false, SystemTime=2024-11-25T16:05:45.256379-05:00, NoProxy=, Architecture=x86_64, NEventsListener=0, HttpsProxy=http://192.168.5.2:9000/, Images=6, ContainersRunning=0, Labels=[], InitCommit={ID=de40ad0, Expected=de40ad0}, NFd=29, KernelVersion=6.8.0-45-generic, LoggingDriver=json-file, OSType=linux, SecurityOptions=[name=seccomp,profile=builtin, name=rootless, name=cgroupns], ContainerdCommit={ID=57f17b0a6295a39009d861b89e3b3b87b005ca27, Expected=57f17b0a6295a39009d861b89e3b3b87b005ca27}, GenericResources=null, OperatingSystem=Ubuntu 24.04.1 LTS, RegistryConfig={AllowNondistributableArtifactsCIDRs=null, AllowNondistributableArtifactsHostnames=null, InsecureRegistryCIDRs=[127.0.0.0/8], IndexConfigs={[docker.io](http://docker.io/)={Name=[docker.io](http://docker.io/), Mirrors=[], Secure=true, Official=true}}, Mirrors=null}, ServerVersion=26.0.1, OomKillDisable=false, CpuCfsQuota=true, Containers=5, Driver=overlay2, IPv4Forwarding=true, ExperimentalBuild=false, DockerRootDir=/home/viswanathgnanasekaranuma.linux/.local/share/docker, CPUSet=true, CpuCfsPeriod=true, DefaultRuntime=runc, CPUShares=true, Debug=false, NCPU=4, Plugins={Volume=[local], Network=[bridge, host, ipvlan, macvlan, null, overlay], Authorization=null, Log=[awslogs, fluentd, gcplogs, gelf, journald, json-file, local, splunk, syslog]}, SwapLimit=true, CgroupDriver=systemd, ContainersPaused=0, MemTotal=4100894720, IndexServerAddress=https://index.docker.io/v1/, MemoryLimit=true, HttpProxy=http://192.168.5.2:9000/, InitBinary=docker-init, CgroupVersion=2, PidsLimit=true, Isolation=, BridgeNfIp6tables=true, Warnings=null, ContainersStopped=5}
16:05:46.388 [main] DEBUG org.testcontainers.shaded.com.github.dockerjava.core.command.AbstrDockerCmd - Cmd: 
16:05:46.434 [main] DEBUG org.testcontainers.DockerClientFactory - Docker version: {Components=[{Name=Engine, Version=26.0.1, Details={ApiVersion=1.45, Arch=amd64, BuildTime=2024-04-11T10:53:42.000000000+00:00, Experimental=false, GitCommit=60b9add, GoVersion=go1.21.9, KernelVersion=6.8.0-45-generic, MinAPIVersion=1.24, Os=linux}}, {Name=containerd, Version=1.7.23, Details={GitCommit=57f17b0a6295a39009d861b89e3b3b87b005ca27}}, {Name=runc, Version=1.1.14, Details={GitCommit=v1.1.14-0-g2c9f560}}, {Name=docker-init, Version=0.19.0, Details={GitCommit=de40ad0}}, {Name=rootlesskit, Version=2.0.2, Details={ApiVersion=1.1.1, NetworkDriver=slirp4netns, PortDriver=builtin, StateDir=/run/user/501/dockerd-rootless}}, {Name=slirp4netns, Version=1.2.1, Details={GitCommit=09e31e92fa3d2a1d3ca261adaeb012c8d75a8194}}], KernelVersion=6.8.0-45-generic, ApiVersion=1.45, Platform={Name=Docker Engine - Community}, GitCommit=60b9add, Os=linux, Version=26.0.1, MinAPIVersion=1.24, Arch=amd64, GoVersion=go1.21.9, BuildTime=2024-04-11T10:53:42.000000000+00:00}
16:05:46.434 [main] INFO  org.testcontainers.DockerClientFactory - Connected to docker: 
  Server Version: 26.0.1
  API Version: 1.45
  Operating System: Ubuntu 24.04.1 LTS
  Total Memory: 3910 MB
16:05:46.434 [main] DEBUG org.testcontainers.utility.RyukResourceReaper - Ryuk is enabled
16:05:46.434 [main] INFO  org.testcontainers.utility.RyukResourceReaper - Ryuk started - will monitor and terminate Testcontainers containers on JVM exit
16:05:46.434 [main] DEBUG org.testcontainers.DockerClientFactory - Checks are enabled
16:05:46.434 [main] INFO  org.testcontainers.DockerClientFactory - Checking the system...
16:05:46.434 [main] INFO  org.testcontainers.DockerClientFactory - ✔︎ Docker server version should be at least 1.6.0
16:05:46.436 [main] DEBUG org.testcontainers.utility.PrefixingImageNameSubstitutor - No prefix is configured
16:05:46.436 [main] DEBUG org.testcontainers.utility.ImageNameSubstitutor - Did not find a substitute image for testcontainers/ryuk:0.11.0 (using image substitutor: DefaultImageNameSubstitutor (composite of 'ConfigurationFileImageNameSubstitutor' and 'PrefixingImageNameSubstitutor'))
16:05:46.437 [main] DEBUG org.testcontainers.shaded.com.github.dockerjava.core.command.AbstrDockerCmd - Cmd: ListImagesCmdImpl[filters=org.testcontainers.shaded.com.github.dockerjava.core.util.FiltersBuilder@0,imageNameFilter=<null>,showAll=false]
16:05:46.453 [main] DEBUG org.testcontainers.images.AbstractImagePullPolicy - Using locally available and not pulling image: testcontainers/ryuk:0.11.0
16:05:46.454 [main] INFO  tc.testcontainers/ryuk:0.11.0 - Creating container for image: testcontainers/ryuk:0.11.0
16:05:46.457 [main] DEBUG org.testcontainers.utility.RegistryAuthLocator - Looking up auth config for image: testcontainers/ryuk:0.11.0 at registry: https://index.docker.io/v1/
16:05:46.457 [main] DEBUG org.testcontainers.utility.RegistryAuthLocator - RegistryAuthLocator has configFile: /Users/viswanathgnanasekaranuma/.docker/config.json (exists) configEnv: DOCKER_AUTH_CONFIG (does not exist) and commandPathPrefix: 
16:05:46.457 [main] DEBUG org.testcontainers.utility.RegistryAuthLocator - RegistryAuthLocator reading from configFile: /Users/viswanathgnanasekaranuma/.docker/config.json
16:05:46.457 [main] DEBUG org.testcontainers.utility.RegistryAuthLocator - registryName [[https://index.docker.io/v1/] for dockerImageName [testcontainers/ryuk:0.11.0](https://index.docker.io/v1/]%20for%20dockerImageName%20[testcontainers/ryuk:0.11.0)]
16:05:46.457 [main] DEBUG org.testcontainers.utility.RegistryAuthLocator - No matching Auth Configs - falling back to defaultAuthConfig [null]
16:05:46.457 [main] DEBUG org.testcontainers.dockerclient.AuthDelegatingDockerClientConfig - Effective auth config [null]
16:05:46.464 [main] DEBUG org.testcontainers.shaded.com.github.dockerjava.core.command.AbstrDockerCmd - Cmd: org.testcontainers.shaded.com.github.dockerjava.core.command.CreateContainerCmdImpl@51b11186[aliases=<null>,argsEscaped=<null>,attachStderr=<null>,attachStdin=<null>,attachStdout=<null>,authConfig=<null>,cmd={},domainName=<null>,entrypoint=<null>,env={},exposedPorts=ExposedPorts(exposedPorts=[8080/tcp]),healthcheck=<null>,hostConfig=HostConfig(binds=[/Users/viswanathgnanasekaranuma/.lima/docker26/sock/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=[], 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;@25c06894}, privileged=true, publishAllPorts=null, readonlyRootfs=null, restartPolicy=null, ulimits=null, cpuCount=null, cpuPercent=null, ioMaximumIOps=null, ioMaximumBandwidth=null, volumesFrom=[], 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, cgroupnsMode=null),hostName=<null>,image=testcontainers/ryuk:0.11.0,ipv4Address=<null>,ipv6Address=<null>,labels={org.testcontainers=true, org.testcontainers.lang=java, org.testcontainers.version=1.20.4},macAddress=<null>,name=testcontainers-ryuk-e0293db6-344e-46f5-9621-2d448ea5a207,networkDisabled=<null>,networkingConfig=<null>,onBuild=<null>,platform=<null>,portSpecs=<null>,shell=<null>,stdInOnce=<null>,stdinOpen=<null>,stopSignal=<null>,stopTimeout=<null>,tty=<null>,user=<null>,volumes=Volumes(volumes=[]),workingDir=<null>]
16:05:46.545 [main] INFO  tc.testcontainers/ryuk:0.11.0 - Container testcontainers/ryuk:0.11.0 is starting: 83b4c304c6f6e69ad68ab89b8a1d9b94382f9740cf3a7b9ec17381a9d5fa86f0
16:05:46.545 [main] DEBUG org.testcontainers.shaded.com.github.dockerjava.core.command.AbstrDockerCmd - Cmd: 83b4c304c6f6e69ad68ab89b8a1d9b94382f9740cf3a7b9ec17381a9d5fa86f0
16:05:46.859 [main] ERROR tc.testcontainers/ryuk:0.11.0 - Could not start container
com.github.dockerjava.api.exception.InternalServerErrorException: Status 500: {"message":"operation not supported"}
 
                at org.testcontainers.shaded.com.github.dockerjava.core.DefaultInvocationBuilder.execute(DefaultInvocationBuilder.java:247)
                at org.testcontainers.shaded.com.github.dockerjava.core.DefaultInvocationBuilder.post(DefaultInvocationBuilder.java:102)
                at org.testcontainers.shaded.com.github.dockerjava.core.exec.StartContainerCmdExec.execute(StartContainerCmdExec.java:31)
                at org.testcontainers.shaded.com.github.dockerjava.core.exec.StartContainerCmdExec.execute(StartContainerCmdExec.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:33)
                at org.testcontainers.shaded.com.github.dockerjava.core.command.StartContainerCmdImpl.exec(StartContainerCmdImpl.java:42)
                at org.testcontainers.containers.GenericContainer.tryStart(GenericContainer.java:444)
                at org.testcontainers.containers.GenericContainer.lambda$doStart$0(GenericContainer.java:346)
                at org.rnorth.ducttape.unreliables.Unreliables.retryUntilSuccess(Unreliables.java:81)
                at org.testcontainers.containers.GenericContainer.doStart(GenericContainer.java:336)
                at org.testcontainers.containers.GenericContainer.start(GenericContainer.java:322)
                at org.testcontainers.utility.RyukResourceReaper.maybeStart(RyukResourceReaper.java:78)
                at org.testcontainers.utility.RyukResourceReaper.registerLabelsFilterForCleanup(RyukResourceReaper.java:51)
                at org.testcontainers.containers.ComposeDelegate.registerContainersForShutdown(ComposeDelegate.java:247)
                at org.testcontainers.containers.ComposeContainer.start(ComposeContainer.java:125)
                at org.testcontainers.junit.jupiter.TestcontainersExtension$StoreAdapter.start(TestcontainersExtension.java:276)
                at org.testcontainers.junit.jupiter.TestcontainersExtension$StoreAdapter.access$200(TestcontainersExtension.java:263)
                at org.testcontainers.junit.jupiter.TestcontainersExtension.lambda$null$4(TestcontainersExtension.java:83)
                at org.junit.jupiter.engine.execution.ExtensionValuesStore.lambda$getOrComputeIfAbsent$4(ExtensionValuesStore.java:86)
                at org.junit.jupiter.engine.execution.ExtensionValuesStore$MemoizingSupplier.computeValue(ExtensionValuesStore.java:223)
                at org.junit.jupiter.engine.execution.ExtensionValuesStore$MemoizingSupplier.get(ExtensionValuesStore.java:211)
                at org.junit.jupiter.engine.execution.ExtensionValuesStore$StoredValue.evaluate(ExtensionValuesStore.java:191)
                at org.junit.jupiter.engine.execution.ExtensionValuesStore$StoredValue.access$100(ExtensionValuesStore.java:171)
                at org.junit.jupiter.engine.execution.ExtensionValuesStore.getOrComputeIfAbsent(ExtensionValuesStore.java:89)
                at org.junit.jupiter.engine.execution.NamespaceAwareStore.getOrComputeIfAbsent(NamespaceAwareStore.java:53)
                at org.testcontainers.junit.jupiter.TestcontainersExtension.lambda$startContainers$5(TestcontainersExtension.java:83)
                at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)
                at org.testcontainers.junit.jupiter.TestcontainersExtension.startContainers(TestcontainersExtension.java:83)
                at org.testcontainers.junit.jupiter.TestcontainersExtension.beforeAll(TestcontainersExtension.java:57)
                at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeBeforeAllCallbacks$12(ClassBasedTestDescriptor.java:395)
                at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
                at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeBeforeAllCallbacks(ClassBasedTestDescriptor.java:395)
                at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.before(ClassBasedTestDescriptor.java:211)
                at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.before(ClassBasedTestDescriptor.java:84)
                at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:148)
                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:1597)
                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:147)
                at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:127)
                at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:90)
                at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:55)
                at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:102)
                at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:54)
                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.apache.maven.surefire.junitplatform.LazyLauncher.execute(LazyLauncher.java:50)
                at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.execute(JUnitPlatformProvider.java:184)
                at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:148)
                at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:122)
                at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:385)
                at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:162)
                at org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:507)
                at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:495)
16:05:46.869 [main] ERROR tc.testcontainers/ryuk:0.11.0 - There are no stdout/stderr logs available for the failed container
16:05:46.869 [main] DEBUG org.testcontainers.shaded.com.github.dockerjava.core.command.AbstrDockerCmd - Cmd: 83b4c304c6f6e69ad68ab89b8a1d9b94382f9740cf3a7b9ec17381a9d5fa86f0,false
16:05:46.870 [main] DEBUG org.testcontainers.shaded.com.github.dockerjava.core.exec.InspectContainerCmdExec - GET: DefaultWebTarget{path=[/containers/83b4c304c6f6e69ad68ab89b8a1d9b94382f9740cf3a7b9ec17381a9d5fa86f0/json], queryParams={}}
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 1.357 s <<< FAILURE! - in mcp.estimates.controller.HealthLivenessIT
[ERROR] mcp.estimates.controller.HealthLivenessIT  Time elapsed: 1.357 s  <<< ERROR!
org.testcontainers.containers.ContainerLaunchException: Container startup failed for image testcontainers/ryuk:0.11.0
                at org.testcontainers.containers.GenericContainer.doStart(GenericContainer.java:351)
                at org.testcontainers.containers.GenericContainer.start(GenericContainer.java:322)
                at org.testcontainers.utility.RyukResourceReaper.maybeStart(RyukResourceReaper.java:78)
                at org.testcontainers.utility.RyukResourceReaper.registerLabelsFilterForCleanup(RyukResourceReaper.java:51)
                at org.testcontainers.containers.ComposeDelegate.registerContainersForShutdown(ComposeDelegate.java:247)
                at org.testcontainers.containers.ComposeContainer.start(ComposeContainer.java:125)
                at org.testcontainers.junit.jupiter.TestcontainersExtension$StoreAdapter.start(TestcontainersExtension.java:276)
                at org.testcontainers.junit.jupiter.TestcontainersExtension$StoreAdapter.access$200(TestcontainersExtension.java:263)
                at org.testcontainers.junit.jupiter.TestcontainersExtension.lambda$null$4(TestcontainersExtension.java:83)
                at org.junit.jupiter.engine.execution.ExtensionValuesStore.lambda$getOrComputeIfAbsent$4(ExtensionValuesStore.java:86)
                at org.junit.jupiter.engine.execution.ExtensionValuesStore$MemoizingSupplier.computeValue(ExtensionValuesStore.java:223)
                at org.junit.jupiter.engine.execution.ExtensionValuesStore$MemoizingSupplier.get(ExtensionValuesStore.java:211)
                at org.junit.jupiter.engine.execution.ExtensionValuesStore$StoredValue.evaluate(ExtensionValuesStore.java:191)
                at org.junit.jupiter.engine.execution.ExtensionValuesStore$StoredValue.access$100(ExtensionValuesStore.java:171)
                at org.junit.jupiter.engine.execution.ExtensionValuesStore.getOrComputeIfAbsent(ExtensionValuesStore.java:89)
                at org.junit.jupiter.engine.execution.NamespaceAwareStore.getOrComputeIfAbsent(NamespaceAwareStore.java:53)
                at org.testcontainers.junit.jupiter.TestcontainersExtension.lambda$startContainers$5(TestcontainersExtension.java:83)
                at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)
                at org.testcontainers.junit.jupiter.TestcontainersExtension.startContainers(TestcontainersExtension.java:83)
                at org.testcontainers.junit.jupiter.TestcontainersExtension.beforeAll(TestcontainersExtension.java:57)
                at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeBeforeAllCallbacks$12(ClassBasedTestDescriptor.java:395)
                at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
                at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeBeforeAllCallbacks(ClassBasedTestDescriptor.java:395)
                at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.before(ClassBasedTestDescriptor.java:211)
                at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.before(ClassBasedTestDescriptor.java:84)
                at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:148)
                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:1597)
                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:147)
                at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:127)
                at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:90)
                at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:55)
                at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:102)
                at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:54)
                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.apache.maven.surefire.junitplatform.LazyLauncher.execute(LazyLauncher.java:50)
                at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.execute(JUnitPlatformProvider.java:184)
                at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:148)
                at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:122)
                at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:385)
                at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:162)
                at org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:507)
                at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:495)
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:336)
                ... 62 more
Caused by: org.testcontainers.containers.ContainerLaunchException: Could not create/start container
                at org.testcontainers.containers.GenericContainer.tryStart(GenericContainer.java:556)
                at org.testcontainers.containers.GenericContainer.lambda$doStart$0(GenericContainer.java:346)
                at org.rnorth.ducttape.unreliables.Unreliables.retryUntilSuccess(Unreliables.java:81)
                ... 63 more
Caused by: com.github.dockerjava.api.exception.InternalServerErrorException: Status 500: {"message":"operation not supported"}
 
                at org.testcontainers.shaded.com.github.dockerjava.core.DefaultInvocationBuilder.execute(DefaultInvocationBuilder.java:247)
                at org.testcontainers.shaded.com.github.dockerjava.core.DefaultInvocationBuilder.post(DefaultInvocationBuilder.java:102)
                at org.testcontainers.shaded.com.github.dockerjava.core.exec.StartContainerCmdExec.execute(StartContainerCmdExec.java:31)
                at org.testcontainers.shaded.com.github.dockerjava.core.exec.StartContainerCmdExec.execute(StartContainerCmdExec.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:33)
                at org.testcontainers.shaded.com.github.dockerjava.core.command.StartContainerCmdImpl.exec(StartContainerCmdImpl.java:42)
                at org.testcontainers.containers.GenericContainer.tryStart(GenericContainer.java:444)
                ... 65 more
 
[INFO] 
[INFO] Results:
[INFO] 
[ERROR] Errors: 
[ERROR]   HealthLivenessIT » ContainerLaunch Container startup failed for image testcontainers/ryuk:0.11.0
[INFO] 
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0
[INFO] 

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants