Docker Desktop - northwood-labs/macos-for-development GitHub Wiki
Overview
Docker is a tool for leveraging containerized environments, making it easy to run/test software or host local development environments.
Docker leverages a feature of the Linux kernel, and therefore does not run natively on macOS (or Windows). Docker Desktop is a desktop application and set of CLI tools that enable you to interact with containers. Docker Desktop installs a very small Linux environment and binds its virtualization to macOS using HyperKit and Hypervisor.framework.
[!IMPORTANT] Again, Docker does not run natively on macOS. Docker Desktop is not just the desktop application — it's any use of the
dockerCLI tool used directly in a macOS terminal.
Installation with Homebrew
The following command will install the complete Docker Desktop package, including all CLI tools. Docker Desktop will then self-update.
brew install --cask docker
Recommended settings
Settings not listed here, set them however you want.
These are up-to-date as of v4.37.1 (178610).
| Settings Tab | Setting | Value |
|---|---|---|
| General | Use containerd for pulling and storing images |
✓ |
| Virtual Machine Options | ✓ Use Docker VMM (beta) | |
| Resources → Advanced | Enable Resource Saver | ✓ |
| Software updates | Automatically check for updates | ✓ |
| Always download updates | ✓ | |
| Extensions | Enable Docker Extensions | ✓ |
| Allow only extensions distributed through the Docker Marketplace | ✓ | |
| Advanced | Choose how to configure the installation of Docker's CLI tools | System (requires password) |
| Allow the default Docker socket to be used (requires password) | ✓ |
Alternatives
If you don't want to use Docker Desktop, then you can run a Linux VM with Docker installed there. However, most documentation will continue to only document for Docker Desktop. You must be able to transpose those instructions for your alternate setup.
- Colima
- Lima
- Parallels Desktop (can automate with Vagrant)
- VMWare Fusion (can automate with Vagrant + VMWare Provider)
- VirtualBox (can automate with Vagrant)
- UTM