Skip to content

[Bug]: Can't run on Kubernetes when using Podman as a sidecar container #10037

@crucibles

Description

@crucibles

Module

PostgreSQL

Testcontainers version

1.20.5

Using the latest Testcontainers version?

Yes

Host OS

Linux

Host Arch

x86_64

Docker version

We are using podman

[root@test8 /]# podman info
host:
  arch: amd64
  buildahVersion: 1.38.1
  cgroupControllers:
  - cpuset
  - cpu
  - io
  - memory
  - hugetlb
  - pids
  - misc
  cgroupManager: cgroupfs
  cgroupVersion: v2
  conmon:
    package: conmon-2.1.12-3.fc41.x86_64
    path: /usr/bin/conmon
    version: 'conmon version 2.1.12, commit: '
  cpuUtilization:
    idlePercent: 92.83
    systemPercent: 1.48
    userPercent: 5.69
  cpus: 4
  databaseBackend: sqlite
  distribution:
    distribution: fedora
    variant: container
    version: "41"
  eventLogger: file
  freeLocks: 2048
  hostname: test8
  idMappings:
    gidmap: null
    uidmap: null
  kernel: 6.1.124
  linkmode: dynamic
  logDriver: k8s-file
  memFree: 5029019648
  memTotal: 16740376576
  networkBackend: netavark
  networkBackendInfo:
    backend: netavark
    dns:
      package: aardvark-dns-1.14.0-1.fc41.x86_64
      path: /usr/libexec/podman/aardvark-dns
      version: aardvark-dns 1.14.0
    package: netavark-1.14.0-1.fc41.x86_64
    path: /usr/libexec/podman/netavark
    version: netavark 1.14.0
  ociRuntime:
    name: crun
    package: crun-1.20-2.fc41.x86_64
    path: /usr/bin/crun
    version: |-
      crun version 1.20
      commit: 9c9a76ac11994701dd666c4f0b869ceffb599a66
      rundir: /run/crun
      spec: 1.0.0
      +SYSTEMD +SELINUX +APPARMOR +CAP +SECCOMP +EBPF +CRIU +LIBKRUN +WASM:wasmedge +YAJL
  os: linux
  pasta:
    executable: /usr/bin/pasta
    package: passt-0^20250217.ga1e48a0-2.fc41.x86_64
    version: ""
  remoteSocket:
    exists: true
    path: /run/podman/podman.sock
  rootlessNetworkCmd: pasta
  security:
    apparmorEnabled: false
    capabilities: CAP_CHOWN,CAP_DAC_OVERRIDE,CAP_FOWNER,CAP_FSETID,CAP_KILL,CAP_NET_BIND_SERVICE,CAP_SETFCAP,CAP_SETGID,CAP_SETPCAP,CAP_SETUID,CAP_SYS_CHROOT
    rootless: false
    seccompEnabled: true
    seccompProfilePath: /usr/share/containers/seccomp.json
    selinuxEnabled: false
  serviceIsRemote: false
  slirp4netns:
    executable: ""
    package: ""
    version: ""
  swapFree: 0
  swapTotal: 0
  uptime: 0h 44m 10.00s
  variant: ""
plugins:
  authorization: null
  log:
  - k8s-file
  - none
  - passthrough
  - journald
  network:
  - bridge
  - macvlan
  - ipvlan
  volume:
  - local
registries:
  search:
  - registry.fedoraproject.org
  - registry.access.redhat.com
  - docker.io
store:
  configFile: /etc/containers/storage.conf
  containerStore:
    number: 0
    paused: 0
    running: 0
    stopped: 0
  graphDriverName: overlay
  graphOptions:
    overlay.imagestore: /usr/lib/containers/storage
    overlay.mount_program:
      Executable: /usr/bin/fuse-overlayfs
      Package: fuse-overlayfs-1.13-2.fc41.x86_64
      Version: |-
        fusermount3 version: 3.16.2
        fuse-overlayfs: version 1.13-dev
        FUSE library version 3.16.2
        using FUSE kernel interface version 7.38
    overlay.mountopt: nodev,fsync=0
  graphRoot: /var/lib/containers/storage
  graphRootAllocated: 107304976384
  graphRootUsed: 11506331648
  graphStatus:
    Backing Filesystem: xfs
    Native Overlay Diff: "false"
    Supports d_type: "true"
    Supports shifting: "true"
    Supports volatile: "true"
    Using metacopy: "false"
  imageCopyTmpDir: /var/tmp
  imageStore:
    number: 0
  runRoot: /run/containers/storage
  transientStore: false
  volumePath: /var/lib/containers/storage/volumes
version:
  APIVersion: 5.3.2
  Built: 1737504000
  BuiltTime: Wed Jan 22 00:00:00 2025
  GitCommit: ""
  GoVersion: go1.23.4
  Os: linux
  OsArch: linux/amd64
  Version: 5.3.2

What happened?

We were trying to test this simple proj: https://github.com/eugene-khyst/podman-testcontainers it is failing with the 1.16.2 testcontainers we also tried updating and used 1.20.5 but still failing.

Here is our pod yaml using a java main container with java version 17 image and podman as sidecar.

apiVersion: v1
kind: Pod
metadata:
  name: testing
spec:
  containers:
    - name: read
      securityContext:
        privileged: true
      image: zulu17-java
      command: ["/bin/sh", "-c"]
      args: ["sleep 1000000"]
      volumeMounts:
        - mountPath: /run/podman
          name: podman-socket
      resources:
        limits:
          cpu: 1
          memory: "2Gi"
        requests:
          cpu: 1
          memory: "2Gi"
  initContainers:
    - name: podman
      image: podman:5.3.2
      command: ["/bin/sh", "-c"]
      args: ["sleep 1000000"]
      restartPolicy: Always
      securityContext:
        privileged: true
      volumeMounts:
        - mountPath: /var/lib/containers
          name: podman-storage
        - mountPath: /run/podman
          name: podman-socket
      resources:
        limits:
          cpu: 1
          memory: "2Gi"
        requests:
          cpu: 1
          memory: "2Gi"
  volumes:
    - name: podman-storage
      emptyDir: {}
    - name: podman-socket
      emptyDir: {}

We are experiencing error:

Caused by:
        org.testcontainers.containers.ContainerLaunchException: Container startup failed

and the test fails...

Relevant log output

01:47:13.336 [Test worker] ERROR 🐳 [postgres:14-alpine] - Log output from the failed container:
    The files belonging to this database system will be owned by user "postgres".
    This user must also own the server process.

    The database cluster will be initialized with locale "en_US.utf8".
    The default database encoding has accordingly been set to "UTF8".
    The default text search configuration will be set to "english".

    Data page checksums are disabled.

    fixing permissions on existing directory /var/lib/postgresql/data ... ok
    creating subdirectories ... ok
    selecting dynamic shared memory implementation ... posix
    selecting default max_connections ... 100
    selecting default shared_buffers ... 128MB
    selecting default time zone ... UTC
    creating configuration files ... ok
    running bootstrap script ... ok
    performing post-bootstrap initialization ... sh: locale: not found
    2025-02-26 01:47:08.639 UTC [30] WARNING:  no usable system locales were found
    ok
    syncing data to disk ... ok


    Success. You can now start the database server using:

        pg_ctl -D /var/lib/postgresql/data -l logfile start

    initdb: warning: enabling "trust" authentication for local connections
    You can change this by editing pg_hba.conf or using the option -A, or
    --auth-local and --auth-host, the next time you run initdb.
    waiting for server to start....2025-02-26 01:47:09.927 UTC [36] LOG:  starting PostgreSQL 14.17 on x86_64-pc-linux-musl, compiled by gcc (Alpine 14.2.0) 14.2.0, 64-bit
    2025-02-26 01:47:09.934 UTC [36] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
    2025-02-26 01:47:09.939 UTC [37] LOG:  database system was shut down at 2025-02-26 01:47:09 UTC
    2025-02-26 01:47:09.957 UTC [36] LOG:  database system is ready to accept connections
     done
    server started
    CREATE DATABASE


    /usr/local/bin/docker-entrypoint.sh: ignoring /docker-entrypoint-initdb.d/*

    waiting for server to shut down...2025-02-26 01:47:10.089 UTC [36] LOG:  received fast shutdown request
    .2025-02-26 01:47:10.089 UTC [36] LOG:  aborting any active transactions
    2025-02-26 01:47:10.092 UTC [36] LOG:  background worker "logical replication launcher" (PID 43) exited with exit code 1
    2025-02-26 01:47:10.092 UTC [38] LOG:  shutting down
    2025-02-26 01:47:10.099 UTC [36] LOG:  database system is shut down
     done
    server stopped

    PostgreSQL init process complete; ready for start up.

    2025-02-26 01:47:10.217 UTC [1] LOG:  starting PostgreSQL 14.17 on x86_64-pc-linux-musl, compiled by gcc (Alpine 14.2.0) 14.2.0, 64-bit
    2025-02-26 01:47:10.217 UTC [1] LOG:  listening on IPv4 address "0.0.0.0", port 5432
    2025-02-26 01:47:10.217 UTC [1] LOG:  listening on IPv6 address "::", port 5432
    2025-02-26 01:47:10.218 UTC [1] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
    2025-02-26 01:47:10.220 UTC [51] LOG:  database system was shut down at 2025-02-26 01:47:10 UTC
    2025-02-26 01:47:10.224 UTC [1] LOG:  database system is ready to accept connections


PersonRepositoryTests > shouldFindByLastName() FAILED
    java.lang.ExceptionInInitializerError
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
        at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
        at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481)
        at org.junit.platform.commons.util.ReflectionUtils.newInstance(ReflectionUtils.java:550)
        at org.junit.jupiter.engine.execution.ConstructorInvocation.proceed(ConstructorInvocation.java:56)
        at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
        at org.junit.jupiter.api.extension.InvocationInterceptor.interceptTestClassConstructor(InvocationInterceptor.java:73)
        at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105)
        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.ExecutableInvoker.invoke(ExecutableInvoker.java:104)
        at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:77)
        at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestClassConstructor(ClassBasedTestDescriptor.java:355)
        at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateTestClass(ClassBasedTestDescriptor.java:302)
        at org.junit.jupiter.engine.descriptor.ClassTestDescriptor.instantiateTestClass(ClassTestDescriptor.java:79)
        at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance(ClassBasedTestDescriptor.java:280)
        at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$4(ClassBasedTestDescriptor.java:272)
        at java.base/java.util.Optional.orElseGet(Optional.java:364)
        at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$5(ClassBasedTestDescriptor.java:271)
        at org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances(TestInstancesProvider.java:31)
        at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0(TestMethodTestDescriptor.java:102)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:101)
        at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:66)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$prepare$2(NodeTestTask.java:123)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.prepare(NodeTestTask.java:123)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:90)
        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:108)
        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:96)
        at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:75)
        at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:99)
        at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:79)
        at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:75)
        at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61)
        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:569)
        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.proxy1/jdk.proxy1.$Proxy2.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:133)
        at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:71)
        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.testcontainers.containers.ContainerLaunchException: Container startup failed
            at app//org.testcontainers.containers.GenericContainer.doStart(GenericContainer.java:336)
            at app//org.testcontainers.containers.GenericContainer.start(GenericContainer.java:317)
            at app//com.example.podman.testcontainers.BaseIntegrationTest.createPostgresContainer(BaseIntegrationTest.java:28)
            at app//com.example.podman.testcontainers.BaseIntegrationTest.<clinit>(BaseIntegrationTest.java:20)
            ... 84 more

            Caused by:
            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:329)
                ... 87 more

                Caused by:
                org.testcontainers.containers.ContainerLaunchException: Could not create/start container
                    at app//org.testcontainers.containers.GenericContainer.tryStart(GenericContainer.java:525)
                    at app//org.testcontainers.containers.GenericContainer.lambda$doStart$0(GenericContainer.java:331)
                    at app//org.rnorth.ducttape.unreliables.Unreliables.retryUntilSuccess(Unreliables.java:81)
                    ... 88 more

                    Caused by:
                    org.testcontainers.shaded.org.awaitility.core.ConditionTimeoutException: org.testcontainers.containers.GenericContainer expected the predicate to return <true> but it returned <false> for input of <InspectContainerResponse(args=[postgres, -c, fsync=off], config=ContainerConfig(attachStderr=false, attachStdin=false, attachStdout=false, cmd=[postgres, -c, fsync=off], domainName=, entrypoint=[docker-entrypoint.sh], env=[PG_MAJOR=14, GOSU_VERSION=1.17, LANG=en_US.utf8, container=podman, POSTGRES_DB=test, POSTGRES_PASSWORD=test, PG_VERSION=14.17, DOCKER_PG_LLVM_DEPS=llvm19-dev          clang19, PGDATA=/var/lib/postgresql/data, PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin, PG_SHA256=6ce0ccd6403bf7f0f2eddd333e2ee9ba02edfa977c66660ed9b4b1057e7630a1, POSTGRES_USER=test, HOME=/root, HOSTNAME=test8], exposedPorts=[5432/tcp], hostName=test8, image=docker.io/library/postgres:14-alpine, labels={org.testcontainers=true, org.testcontainers.sessionId=75fd2679-ea9c-4bc5-a387-75510776f51d}, macAddress=null, networkDisabled=null, onBuild=null, stdinOpen=false, portSpecs=null, stdInOnce=false, tty=false, user=, volumes=null, workingDir=/, healthCheck=null), created=2025-02-26T01:47:07.454559662Z, driver=overlay, execDriver=null, hostConfig=HostConfig(binds=[df2ef4bc02dde816c37d6ba9cc1a22cb14b2d41c12a7a1896b448b3a26f6c5d9:/var/lib/postgresql/data:rw], blkioWeight=0, blkioWeightDevice=null, blkioDeviceReadBps=null, blkioDeviceWriteBps=null, blkioDeviceReadIOps=null, blkioDeviceWriteIOps=null, memorySwappiness=0, nanoCPUs=0, capAdd=[], capDrop=[], containerIDFile=, cpuPeriod=0, cpuRealtimePeriod=0, cpuRealtimeRuntime=0, cpuShares=0, cpuQuota=0, cpusetCpus=, cpusetMems=, devices=[], deviceCgroupRules=null, deviceRequests=null, diskQuota=null, dns=[], dnsOptions=[], dnsSearch=[], extraHosts=[], groupAdd=[], ipcMode=host, cgroup=, links=[], logConfig=LogConfig(type=json-file, config=null), lxcConf=null, memory=0, memorySwap=0, memoryReservation=0, kernelMemory=null, networkMode=host, oomKillDisable=false, init=null, autoRemove=false, oomScoreAdj=0, portBindings={}, privileged=false, publishAllPorts=false, readonlyRootfs=false, restartPolicy=no, ulimits=[Ulimit(name=RLIMIT_NOFILE, soft=1048576, hard=1048576), Ulimit(name=RLIMIT_NPROC, soft=1048576, hard=1048576)], cpuCount=0, cpuPercent=0, ioMaximumIOps=0, ioMaximumBandwidth=0, volumesFrom=null, mounts=null, pidMode=private, isolation=null, securityOpts=[], storageOpt=null, cgroupParent=, volumeDriver=, shmSize=65536000, pidsLimit=0, runtime=oci, tmpFs=null, utSMode=host, usernsMode=, sysctls=null, consoleSize=[0, 0]), hostnamePath=/run/containers/storage/overlay-containers/2662de6781dc6e2a34b6ad18d1c4a83367e47371d3cf8485a7f458068d36405e/userdata/hostname, hostsPath=/run/containers/storage/overlay-containers/2662de6781dc6e2a34b6ad18d1c4a83367e47371d3cf8485a7f458068d36405e/userdata/hosts, logPath=/var/lib/containers/storage/overlay-containers/2662de6781dc6e2a34b6ad18d1c4a83367e47371d3cf8485a7f458068d36405e/userdata/ctr.log, id=2662de6781dc6e2a34b6ad18d1c4a83367e47371d3cf8485a7f458068d36405e, sizeRootFs=0, imageId=sha256:8e8f65877292ea6602533c6bfc6d70d3f25a0dcf82ded04bb3fa5715e4d49b61, mountLabel=, name=/thirsty_wing, restartCount=0, networkSettings=NetworkSettings(bridge=, sandboxId=, hairpinMode=false, linkLocalIPv6Address=, linkLocalIPv6PrefixLen=0, ports={}, sandboxKey=, secondaryIPAddresses=null, secondaryIPv6Addresses=null, endpointID=, gateway=, portMapping=null, globalIPv6Address=, globalIPv6PrefixLen=0, ipAddress=, ipPrefixLen=0, ipV6Gateway=, macAddress=, networks={host=ContainerNetwork(ipamConfig=null, links=[], aliases=null, networkID=host, endpointId=, gateway=, ipAddress=, ipPrefixLen=0, ipV6Gateway=, globalIPv6Address=, globalIPv6PrefixLen=0, macAddress=)}), path=docker-entrypoint.sh, processLabel=, resolvConfPath=/run/containers/storage/overlay-containers/2662de6781dc6e2a34b6ad18d1c4a83367e47371d3cf8485a7f458068d36405e/userdata/resolv.conf, execIds=[], state=InspectContainerResponse.ContainerState(status=running, running=true, paused=false, restarting=false, oomKilled=false, dead=false, pid=6390, exitCode=0, error=, startedAt=2025-02-26T01:47:07.584226868Z, finishedAt=0001-01-01T00:00:00Z, health=null), volumes=null, volumesRW=null, node=null, mounts=[InspectContainerResponse.Mount(name=df2ef4bc02dde816c37d6ba9cc1a22cb14b2d41c12a7a1896b448b3a26f6c5d9, source=/var/lib/containers/storage/volumes/df2ef4bc02dde816c37d6ba9cc1a22cb14b2d41c12a7a1896b448b3a26f6c5d9/_data, destination=/var/lib/postgresql/data, driver=local, mode=, rw=true)], graphDriver=GraphDriver(name=overlay, data=GraphData(rootDir=null, deviceId=null, deviceName=null, deviceSize=null, dir=null)), platform=linux)> within 5 seconds.
                        at app//org.testcontainers.shaded.org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:166)
                        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.containers.GenericContainer.tryStart(GenericContainer.java:438)
                        ... 90 more

Additional Information

We used this sample project: https://github.com/eugene-khyst/podman-testcontainers/blob/main/build.gradle

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions