Testcontainers docker runtime

Hi! We’d like to use (dotnet) testcontainers to run tests in a pipeline step. According to their docs on https://dotnet.testcontainers.org/:

System requirements

Testcontainers requires a Docker-API compatible container runtime. During development, Testcontainers is actively tested against recent versions of Docker on Linux, as well as against Docker Desktop on Mac and Windows. These Docker environments are automatically detected and used by Testcontainers without any additional configuration being necessary.

It is possible to configure Testcontainers to work for other Docker setups, such as a remote Docker host or Docker alternatives. However, these are not actively tested in the main development workflow, so not all Testcontainers features might be available and additional manual configuration might be necessary. If you have further questions about configuration details for your setup or whether it supports running Testcontainers-based tests, please contact the Testcontainers team and other users from the Testcontainers community on Slack.

I’ve tried just running a very simple hello world test. That one succeeds locally on my machine (since apparently the testcontainer library can find my locally installed Docker Desktop instance). That same code would not run on a buildkite environment though. However, it would be awesome if we could get it to work on the buildkite environment. I’m not sure what to do there, since reading the docs gives many hints that the docker runtime actually is already installed and running (how could docker and docker-compose plugin work after all?).

The error I encounter is as following:

System.ArgumentException : Docker is either not running or misconfigured. 
Please ensure that Docker is running and that the endpoint is properly configured. 
You can customize your configuration using either the environment variables or the ~/.testcontainers.properties file. 
For more information, visit:
https://dotnet.testcontainers.org/custom_configuration/ (Parameter 'DockerEndpointAuthConfig')

So my question is: what are the docker runtime configuration values that testcontainers requires to successfully create a container?

Hey @generateui

Thanks for the message

This is probably either have docker misconfigured or not running as the error message states. Or something with misconfigured Environment variables.

https://dotnet.testcontainers.org/custom_configuration/

If you’re using containers within your CI system, then the environment variables used by test collectors may not be exposed to those containers by default. Make sure to export your CI environment’s variables and your Buildkite API token to your containerized builds and tests.

Follow our documentation to see which Environment Variables are needed

Cheers!