close

Filter

loading table of contents...

Blueprint Developer Manual / Version 2110

Table Of Contents
3.2.2.1.1 Docker Installation

For 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 you need to workaround Rancher Desktops early stages and lack of UI integration. The daemon.json 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 using vi.

    1. Install LiMa

      brew install lima
    2. configure the LiMa client to target the Rancher Desktop VM

      export LIMA_HOME=~/Library/Application\ Support/rancher-desktop/lima
    3. log into the VM

      limactl ls
      # identify the ordinal of the rancher VM, by default it should be 0
      limactl shell 0
    4. in the LiMa VM, edit the daemon.json

      sudo 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.

  1. Install WSL2 with an Ubuntu system, by following the instructions here.

  2. Install a Linux subsystem, by running wsl --install -d Ubuntu

  3. Install Docker Engine on Ubuntu, by following the instructions at https://docs.docker.com/engine/install/ubuntu/.

  4. Increase security and user experience by follow the post-installation steps, described at https://docs.docker.com/engine/install/linux-postinstall/.

Search Results

Table Of Contents
warning

Your Internet Explorer is no longer supported.

Please use Mozilla Firefox, Google Chrome, or Microsoft Edge.