Blueprint Developer Manual / Version 2107
Table Of ContentsColima - 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.
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
Make sure that the following paths and files are excluded from being scanned by any real time virus scanner:
The location of Hyper-V :
C:\ProgramData\Microsoft\Windows\Hyper-V
The location of your disk image. The defaults are
C:\Users\Public\Documents\Hyper-V\Virtual hard disks\MobyLinux.vhxd
The executables for virtualization
vmms.exe vmwp.exe
The file extensions for virtualization files:
VHD VHDX
Make sure that no process is already listening on ports 80 and 443. You may run
net stop http
in an elevated PowerShell to stop these processes. If port 80 is still blocked, you may need to stop theWWW web publisher service
as well.Be careful with hibernation, make sure to stop all containers, before hibernate your workstation.