General Docker requirements
Overview
Host Operating System / Environment | Minimum recommended docker versions | Known issues / tips |
---|---|---|
Linux - general | Docker v17.09 | After docker installation, follow post-installation steps. |
Linux - CircleCI (LXC driver) | Docker v17.09 | The exec feature is not compatible with CircleCI. See CircleCI configuration example |
Linux - within a Docker container | Docker v17.09 | See Running inside Docker for Docker-in-Docker and Docker wormhole patterns |
Mac OS X - Docker Toolbox | Docker Machine v0.8.0 | |
Mac OS X - Docker for Mac | v17.09 | Support is best-efforts at present. getTestHostIpAddress() is not currently supported due to limitations in Docker for Mac. |
Windows - Docker Toolbox | Support is limited at present and this is not currently tested on a regular basis. | |
Windows - Docker for Windows | Support is best-efforts at present. Only Linux Containers (LCOW) are supported at the moment. See Windows Support | |
Windows - Windows Subsystem for Linux (WSL) | Docker v17.09 | Support is best-efforts at present. Only Linux Containers (LCOW) are supported at the moment. See Windows Support. |
Using Colima?
In order to run testcontainers against colima the env vars bellow should be set
export TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE=/var/run/docker.sock
export DOCKER_HOST="unix://${HOME}/.colima/docker.sock"
Docker environment discovery
Testcontainers will try to connect to a Docker daemon using the following strategies in order:
- Environment variables:
DOCKER_HOST
DOCKER_TLS_VERIFY
DOCKER_CERT_PATH
- Defaults:
DOCKER_HOST=https://localhost:2376
DOCKER_TLS_VERIFY=1
DOCKER_CERT_PATH=~/.docker
- If Docker Machine is installed, the docker machine environment for the first machine found. Docker Machine needs to be on the PATH for this to succeed.
- If you're going to run your tests inside a container, please read Patterns for running tests inside a docker container first.