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.
Getting Started
The following steps have been tested on an Intel Macbook w/ 16gb of ram after removing Docker Desktop.
Installing Multipass
Ideally, use 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.
Installing Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
sudo apt install docker-compose
Optionally, Configure Sudoless Docker
sudo apt-get install -y uidmap
dockerd-rootless-setuptool.sh install
echo "export DOCKER_HOST=unix:///run/user/1000/docker.sock" >> ~/.bashrc
source ~/.bashrc
Optionally, Configure AWS
sudo apt install awscli
aws configure
$(aws ecr get-login --no-include-email --region us-west-2)