Using Colima with Docker¶
Colima is a container runtime which integrates with Docker's tooling and can be configured in various ways.
As of Colima v0.4.0 it's recommended to set the active Docker context to use Colima. After the context is set Testcontainers for Go will automatically be configured to use Colima.
$ docker context ls
NAME DESCRIPTION DOCKER ENDPOINT KUBERNETES ENDPOINT ORCHESTRATOR
colima colima unix:///Users/foobar/.colima/default/docker.sock
default * Current DOCKER_HOST based configuration unix:///Users/foobar/.colima/docker.sock
$ docker context use colima
colima
Current context is now "colima"
$ docker context ls
NAME DESCRIPTION DOCKER ENDPOINT KUBERNETES ENDPOINT ORCHESTRATOR
colima * colima unix:///Users/foobar/.colima/default/docker.sock
default Current DOCKER_HOST based configuration unix:///var/run/docker.sock
If you're using an older version of Colima or have other applications that are unaware of Docker context the following workaround is available:
-
Locate your Docker Socket, see: Colima's FAQ - Docker Socket Location
-
Create a symbolic link from the default Docker Socket to the expected location, and restart Colima with the
--network-address
flag.
sudo ln -sf $HOME/.colima/default/docker.sock /var/run/docker.sock
colima stop
colima start --network-address
-
Set the
DOCKER_HOST
environment variable to match the located Docker Socket- Example:
export DOCKER_HOST="unix://${HOME}/.colima/default/docker.sock"
- Example:
-
As of testcontainers-go v0.14.0 set
TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE
to/var/run/docker.sock
as the default value refers to yourDOCKER_HOST
environment variable.- Example:
export TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE="/var/run/docker.sock"
- Example: