#πŸ› PSA: Dagger + testcontainers failing on GitHub Actions after Nov 12 containerd v2 upgrade

1 messages Β· Page 1 of 1 (latest)

serene ember
#

Hey team! πŸ‘‹

Wanted to share an issue affecting Dagger pipelines with testcontainers on GitHub Actions ubuntu-22.04:

Problem:

  • GitHub updated ubuntu-22.04 runners on Nov 12 with containerd v2.1.5 (was v1.7.28)
  • Dagger pipelines using testcontainers now fail with: Docker API responded with status code=InternalServerError, failed to mount /tmp/containerd-mount: err: invalid argument

Environment:

  • Working: ubuntu22/20250929.88 (containerd v1.7.28) βœ…
  • Failing: ubuntu22/20251112.150 (containerd v2.1.5) ❌
  • Tested: Dagger v0.19.2 and v0.19.6 (both fail)

Issue opened: https://github.com/dagger/dagger/issues/11427

Has anyone else hit this or found a workaround? The issue seems specific to Docker-in-Docker scenarios (testcontainers inside Dagger containers) with containerd v2's overlay filesystem changes.

Implementation details:
We're using the Daggerverse testcontainers module (github.com/vito/daggerverse/testcontainers@1464b057adc8229e79fcf9ab4b96670517e70a8e) which spawns a docker-in-dagger service via dag.Docker().Daemon().Service(). The Docker daemon service is where the containerd v2 overlay issue occurs when testcontainers tries to create Redis containers for tests.

Code: https://github.com/Wakam-Insurance/PricingRenewalSchedulerForGithubExploration/blob/main/Infra/GraphSessionRenewalScheduler/pipeline/src/index.ts#L105

Has anyone else hit this or found a workaround?

Thanks! πŸ™

GitHub

Dagger fails with containerd v2 on GitHub Actions ubuntu-22.04 (testcontainers overlay mount error) Summary Dagger pipeline with testcontainers fails on GitHub Actions ubuntu-22.04 after the Novemb...

clear thunder
serene ember
#

testcontainers withing dagger

clear thunder
serene ember
#

@clear thunder ?

clear thunder
#

ok, probably 29?

#

I'm installing docker 29.0.0 in my system and checking now

#

I'd assume it's related to that since docker 29 has that cgroupv1 deprecation

serene ember
#

GitHub Actions ubuntu-22.04:
β€’ Working (20250929.88): Docker 28.0.4 + containerd v1.7.28 βœ…
β€’ Failing (20251112.150): Docker 28.0.4 + containerd v2.1.5 ❌

clear thunder
#

in my machine, Docker 28.5.1 should be using containerd v1.7.28

#

have you checked if there's an issue in the GH repo?

#

since docker 28.x.x shouldn't be using containerd v2

#

seems more like a docker issue to me

serene ember
#

Just verified - you're absolutely right! Docker 28.x should be using containerd v1.7.28, not v2.

But here's the key: The GitHub Actions runner itself has Docker 28.0.4, but Dagger's engine container is using Docker 29.0.1 internally:

clear thunder
#

let me check very quickly if that can be overriden

clear thunder
serene ember
#

work great locally i try on github right now

clear thunder
#

and you need to pass the 28 version

serene ember
#

test in progress thx

clear thunder
#

πŸ‘

#

@serene ember even though the GH runner is using Docker 28, have you verified that it's effectively using containerd v1.7.28? Mostly asking given that the issue could be that GH installed the wrong containerd version in their runners

serene ember
#

Work well πŸ™‚ on Github πŸ™‚

Hum ok let's try to find out which version of contianerd

#

From the runner:

  • Docker version: 28.0.4
  • containerd version: v2.1.5 (commit: fcd43222d6b07379a4be9786bda52438f0dd16a1)
clear thunder
#

ok.. seems like the issue was the inner docker version being 29.0.1 and your testcontainers library not being supported

serene ember
clear thunder
#

@serene ember I don't think it's a dagger issue since dagger is not doing anything fancy here

#

I'd say it's the testcontainers .NET SDK you have pinned with docker 29

serene ember
#

right more testcontainers-dotnet repo

clear thunder
#

πŸ‘

serene ember
#

thx you for the troubleshooting !