Blueprint Developer Manual / Version 2307
Table Of ContentsFor the Docker Compose setup to work, you need a running container runtime and Docker client and Docker Compose to be installed. The default is to use Docker Desktop, a commercial development tooling suite. Please check their pricing options first. There are free alternatives available for all major operation systems.
Docker Desktop
Docker Desktop is a commercial development tooling suite
Colima - Containers in Linux Machines
Colima is a free virtualization tooling for Mac OS to provide the same seamless developer experience as Docker Desktop. It is based on Lima (Linux Machines), which is using the same QEMU stack as Docker Desktop. Lima ist also the foundation of Rancher Desktop, the Kubernetes developer tooling setup by Rancher.
To install Colima, Docker and Docker Compose run the brew installation formulae for each app:
brew install colima docker docker-compose
To start Colima run:
colima start --cpu 4 --memory 14
After the VM has started, you should be able to use the Docker client. Be aware, that instead of ~/.docker/daemon.json
, Colima uses ~/.colima/docker/daemon.json
to configure the runtime.
If you are using the Spotify dockerfile-maven-plugin
, you also need to set the DOCKER_HOST
environment variable. Colima
exposes the Docker socket at ~/.colima/docker.sock
and Spotifys Docker client only works, when this is set.
DOCKER_HOST=unix:///Users/<YOUR USER NAME>/.colima/docker.sock
Rancher Desktop
A new contender to replace Docker Desktop is Rancher Desktop. It is designed to bootstrap Kubernetes developers, but it can be installed using the dockerd runtime from the Moby project to replace Docker Desktop completely. At its core, Rancher Desktop is also based on Lima like Colima, but it adds a nice UI and Kubernetes integration.
Rancher Desktop can be installed using an installer binary and supports not only MacOS but also Linux and Windows. The installation is easy, but you have to make sure to completely uninstall Docker Desktop before installing Rancher Desktop.
After installing Rancher Desktop there are two steps required to make it a full Docker Desktop replacement:
Uninstall Kubernetes if you don’t need it. If you don’t uninstall Kubernetes, you will always have those containers listed, when running
docker ps
. Uninstalling can be done by executing the following two calls and wait a couple of minutes until Kubernetes uninstalls its containers.kubectl config use-context rancher-desktop kubectl delete node lima-rancher-desktop
If you need to customize the
daemon.json
file, you need to workaround Rancher Desktops early stages and lack of UI integration. Thedaemon.json
file is only accessible in the Lima VM and to access it you need to install the Lima client and login to the VM and edit the file manually usingvi
.Install Lima
brew install lima
Configure the Lima client to target the Rancher Desktop VM
export LIMA_HOME=~/Library/Application\ Support/rancher-desktop/lima
Log into the VM
limactl ls # identify the ordinal of the rancher VM, by default it should be 0 limactl shell 0
In the Lima VM, edit the
daemon.json
filesudo vi /etc/docker/daemon.json # restart the docker service to apply the configuration changes sudo service docker restart
Windows Subsystem
Instead of using Docker Desktop, it is also possible to install Docker directly within the Windows Subsystem (WSL2) Linux.
Install WSL2 with an Ubuntu system, by following the instructions here.
Install a Linux subsystem, by running
wsl --install -d Ubuntu
Install Docker Engine on Ubuntu, by following the instructions at https://docs.docker.com/engine/install/ubuntu/.
Increase security and user experience by follow the post-installation steps, described at https://docs.docker.com/engine/install/linux-postinstall/.