Free Docker Desktop Alternative For Mac And Windows
At Aug. 31, 2022 Docker announced a new subscription plan for Docker Desktop. So we will Check the best alternatives for docker desktop on Windows an MacOS.
Docker Desktop remain free for:
- Small businesses with fewer than 250 employees and less than $10 million in annual revenue.
- Personal use.
- Educational institutions.
- Non-commercial open-source projects.
For professional usage, Docker Desktop will require a paid subscription (either Pro, Team or Business), which starts at $5 per month and goes up from there.
podman
Podman is a tool for running OCI containers and pods.
MacOS
You can do this from a MacOS desktop as long as you have access to a linux box either running inside of a VM on the host, or available via the network. Podman includes a command, podman machine that automatically manages VM’s.
brew install podman
podman machine init
podman machine start
podman info
podman run -it --rm -d -p 8080:80 --name web nginx
Windows
Podman can be run in the Windows Subsystem for Linux system.
wsl.exe --install
bash
sudo apt-get -y update
sudo apt-get -y install podman
podman info
podman run -it --rm -d -p 8080:80 --name web nginx
lima and Colima
Lima (Linux virtual machines, on macOS) launches Linux virtual machines with automatic file sharing, port forwarding, and containerd.
MacOS
brew install lima
limactl start
lima nerdctl run -it --rm alpine
NOTE: ARM Mac requires installing a patched version of QEMU, see Lima documentation
If you want to use Kubernetes on Lima there is a project called Colima.
brew install lima docker kubectl
curl -LO https://raw.githubusercontent.com/abiosoft/colima/v0.1.10/colima && sudo install colima /usr/local/bin/colima
colima version
colima start --with-kubernetes
# configure vm
colima stop
colima start --cpu 4 --memory 8
Lima is already adopted by Rancher Desktop to run k3s on macOS.
Rancher Desktop
Rancher Desktop is an open-source project to bring Kubernetes and container management to the desktop. Windows and macOS versions of Rancher Desktop are available for download.
MacOS
Rancher Desktop requires the following on macOS.
- macOS 10.10 or higher.
- Intel CPU with VT-x.
- Persistent internet connection.
Apple Silion (M1) support is planned, but not currently implemented.
Windows
Rancher Desktop requires the following on Windows:
- Windows 10, at least version 1903.
- Running on a machine with virtualization capabilities.
- Persistent internet connection.
Rancher Desktop requires Windows Subsystem for Linux on Windows; this will automatically be installed as part of the Rancher Desktop setup. Manually downloading a distribution is not necessary.
Install
Download and install the newes version fro GitHub Then Start it.
Rancher Desktop installs a new Linux VM in WSL2 that has a Kubernetes cluster based on k3s as well as installs various components in it such as KIM (for building docker images on the cluster), helm cli and the Traefik Ingress Controller
mikrok8s
MicroK8s is the simplest production-grade upstream K8s distribution.
MacOS
To run mikrok8s on macOS you need at least 8GB of RAM:
brew install ubuntu/microk8s/microk8s
microk8s install
microk8s status --wait-ready
microk8s kubectl get nodes
microk8s kubectl get services
# enable addons
microk8s enable dns storage
# manage vm
microk8s stop
microk8s start
Windows
To run mikrok8s on windows the requirements are:
- A Windows 10 machine with at least 8 GB of RAM and 40 GB storage
- If you have Windows 10 Home edition, you will also need to install VirtualBox (Windows 10 Professional, Enterprise and Student editions include Hyper-v for virtualisation).
MicroK8s has a Windows installer that will take care of setting up the software for you. Download the latest installer here.
The installer checks if Hyper-V is available and switched on. If you don’t have Hyper-v (e.g. on Windows 10 Home edition) it is possible to use VirtualBox as an alternative.
You can now configure MicroK8s - the minimum recommendations are already filled in.
Now you can tart an use micro k8s:
microk8s status --wait-ready
microk8s kubectl get nodes
microk8s kubectl get services
# enable addons
microk8s enable dns storage
# manage vm
microk8s stop
microk8s start
minikube
minikube implements a local Kubernetes cluster on macOS, Linux, and Windows. minikube’s primary goals are to be the best tool for local Kubernetes application development and to support all Kubernetes features that fit.
MacOS
brew install hyperkit minikube docker kubectl
# configure vm
minikube config set memory 16384
# set driver
minikube start --driver hyperkit
minikube config set driver hyperkit
# configure docker cli to connect minikube vm
eval $(minikube -p minikube docker-env)
Windows
Install with exe from powershell:
curl -Lo minikube.exe https://github.com/kubernetes/minikube/releases/latest/download/minikube-windows-amd64.exe
New-Item -Path "c:\" -Name "minikube" -ItemType "directory" -Force
Move-Item .\minikube.exe c:\minikube\minikube.exe -Force
$oldpath=[Environment]::GetEnvironmentVariable("Path", [EnvironmentVariableTarget]::Machine)
if($oldpath -notlike "*;C:\minikube*"){`
[Environment]::SetEnvironmentVariable("Path", $oldpath+";C:\minikube", [EnvironmentVariableTarget]::Machine)`
}
Install wit Windows Package Manager:
winget install minikube
using Chocolatey:
choco install minikube
VirtualBox and VMware Workstation (and VMware Player) are “level 2 hypervisors.” Hyper-V and VMware ESXi are “level 1 hypervisors.” So wen Hyper-V is enabled your Windows 10 pc become a Virtualization Host. Hyper-V blocks all other Hyper Visors like VirtualBox from calling VT hardware.
# to use with Hyper-V yo need to install
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
# configure vm
minikube config set memory 16384
# set driver
minikube start --driver hyperv
minikube config set driver hyperv