When Docker decided to change the Docker Desktop pricing model I found that, while reasonable, it was an additional reoccurring cost for basic tooling that remained easily accessible and free on other platforms so I set on a search for alternatives.
Ubuntu Multipass is one of numerous alternatives that can replace Docker Desktop on Macs and Windows.
The following steps have been tested on an Intel Macbook w/ 16gb of ram after removing Docker Desktop.
brew install multipass, however there’s currently a bug (sftp server: handle_stat: cannot stat #2203) which results in log files filling your hard drive. As of time of writing it is recommended to use the package referenced in the issue.
Configuring a Shell
The following configuration values can be modified, but those presented have been tested successfully with a large application stack. Additionally, changing the shell name will require changes to commands that follow in this guide.
multipass launch --name development --cpus 4 --mem 8g --disk 100G
Entering the Shell
multipass shell development
All command from this point forward, unless specified otherwise, are to be done from within the multipass shell.
curl -fsSL https://get.docker.com -o get-docker.sh
sudo apt install docker-compose
Optionally, Configure Sudoless Docker
sudo apt-get install -y uidmap
echo "export DOCKER_HOST=unix:///run/user/1000/docker.sock" >> ~/.bashrc
Optionally, Configure AWS
sudo apt install awscli
$(aws ecr get-login --no-include-email --region us-west-2)