In many of our projects that we continuously integrate with Concourse, we use TestContainers library to create various disposable containers in integration tests. Some examples include Postgres, Redis, Localstack. There containers are destroyed (by the library) once tests are finished.
Till now we’ve been really running “Docker in Docker”:
- Alpine based on github concourse/docker-image-resource/blob/master/assets/common.sh
- Ubuntu based on github jpetazzo/dind
After update to Concourse 5.0 / “overlay” worker baggage claim driver, Docker daemon is no longer able to start.
After I applied https://github.com/concourse/docker-image-resource/commit/fd492346246e9e9f61040bf31c740e80fccc9365 for our Alpine solution it worked, but for Ubuntu I still have to find a solution.
Next to it, running “Docker in Docker” is not recommended (e.g., here: https://jpetazzo.github.io/2015/09/03/do-not-use-docker-in-docker-for-ci/).
I am wondering what would be a recommended approach to spin up docker containers during builds on CI that would be forward compatible?