When trying to run a floci/floci:latest Testcontainer image with Docker, docker-java APi throws below error:
org.testcontainers.shaded.com.fasterxml.jackson.databind.exc.ValueInstantiationException: Cannot construct instance of `com.github.dockerjava.api.model.ExposedPorts`, problem: Error parsing ExposedPort '6379-6399/tcp'
at [Source: UNKNOWN; byte offset: #UNKNOWN] (through reference chain: com.github.dockerjava.api.command.InspectImageResponse["Config"]->com.github.dockerjava.api.model.ContainerConfig["ExposedPorts"])
at org.testcontainers.shaded.com.github.dockerjava.core.DefaultInvocationBuilder.get(DefaultInvocationBuilder.java:77)
at org.testcontainers.shaded.com.github.dockerjava.core.exec.InspectImageCmdExec.execute(InspectImageCmdExec.java:28)
at org.testcontainers.shaded.com.github.dockerjava.core.exec.InspectImageCmdExec.execute(InspectImageCmdExec.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.InspectImageCmdImpl.exec(InspectImageCmdImpl.java:39)
at org.testcontainers.images.LocalImagesCache.refreshCache(LocalImagesCache.java:42)
at org.testcontainers.images.AbstractImagePullPolicy.shouldPull(AbstractImagePullPolicy.java:24)
at org.testcontainers.images.RemoteDockerImage.resolve(RemoteDockerImage.java:79)
at org.testcontainers.images.RemoteDockerImage.resolve(RemoteDockerImage.java:35)
at org.testcontainers.utility.LazyFuture.getResolvedValue(LazyFuture.java:20)
at org.testcontainers.utility.LazyFuture.get(LazyFuture.java:41)
at org.testcontainers.containers.GenericContainer.getDockerImageName(GenericContainer.java:1306)
... 69 more
Looks like docker-java port parsing logic does not support ranges.
Could you please support EXPOSE 4566 6379-6399 declarations?
Note that current workaround is to expose ports individually or use Podman, which strangely does not have the same issue.
When trying to run a
floci/floci:latestTestcontainer image with Docker,docker-javaAPi throws below error:Looks like
docker-javaport parsing logic does not support ranges.Could you please support
EXPOSE 4566 6379-6399declarations?Note that current workaround is to expose ports individually or use Podman, which strangely does not have the same issue.