Colima - container runtimes on macOS (and Linux) with minimal setup.
Features
Support for Intel and Apple Silicon macOS, and Linux
- Simple CLI interface with sensible defaults
- Automatic Port Forwarding
- Volume mounts
- Multiple instances
- Support for multiple container runtimes
- Docker (with optional Kubernetes)
- Containerd (with optional Kubernetes)
- Incus (containers and virtual machines)
Getting Started
Installation
Colima is available on Homebrew, MacPorts, Nix and mise. Check here for other installation options.
# Homebrew
brew install colima
# MacPorts
sudo port install colima
# Nix
nix-env -iA nixpkgs.colima
# Mise
mise use -g colima@latest
Or stay on the bleeding edge (only Homebrew)
brew install --HEAD colima
Upgrading
If upgrading from v0.5.6 or lower, it is required to start afresh by deleting existing instance.
colima delete # delete existing instance
colima startUsage
Start Colima with defaults
For more usage options
colima --help
colima start --help
Or use a config file
Using Templates
When you run the colima template command, Colima opens the default configuration in a temporary file using your editor (VS Code by default, if installed).
For example, you might see something like:
/var/folders/hm/xmq4vxs13dl2hx2jyct65r080000gn/T/colima-2758922589.yaml
You can edit this temporary file as needed. Once you save and close the file in the editor, Colima automatically overwrites the default template config located at:
~/.colima/_templates/default.yaml
To see more options for working with templates, run:
Runtimes
On initial startup, Colima initiates with a user specified runtime that defaults to Docker.
Docker
Docker client is required for Docker runtime. Installable with brew brew install docker.
You can use the docker client on macOS after colima start with no additional setup.
Containerd
colima start --runtime containerd starts and setup Containerd. You can use colima nerdctl to interact with
Containerd using nerdctl.
It is recommended to run colima nerdctl install to install nerdctl alias script in $PATH.
Kubernetes
kubectl is required for Kubernetes. Installable with brew install kubectl.
To enable Kubernetes, start Colima with --kubernetes flag.
colima start --kubernetes
Interacting with Image Registry
For Docker runtime, images built or pulled with Docker are accessible to Kubernetes.
For Containerd runtime, images built or pulled in the k8s.io namespace are accessible to Kubernetes.
Incus
Requires v0.7.0
Incus client is required for Incus runtime. Installable with brew brew install incus.
colima start --runtime incus starts and setup Incus.
You can use the incus client on macOS after colima start with no additional setup.
Note: Running virtual machines on Incus is only supported on m3 or newer Apple Silicon devices.
None
Requires v0.7.0
Colima can also be utilised solely as a headless virtual machine manager by specifying none runtime.
Customizing the VM
The default VM created by Colima has 2 CPUs, 2GiB memory and 100GiB storage.
The VM can be customized either by passing additional flags to colima start.
e.g. --cpu, --memory, --disk, --runtime.
Or by editing the config file with colima start --edit.
NOTE: disk size cannot be changed after the VM is created. From v0.5.3, disk size can be increased.
Customization Examples
-
create VM with 1CPU, 2GiB memory and 10GiB storage.
colima start --cpu 1 --memory 2 --disk 10 -
modify an existing VM to 4CPUs and 8GiB memory.
colima stop colima start --cpu 4 --memory 8 -
create VM with Rosetta 2 emulation. Requires v0.5.3 and macOS >= 13 (Ventura) on Apple Silicon.
colima start --vm-type=vz --vz-rosetta
Project Goal
To provide container runtimes on macOS with minimal setup.
What is with the name?
Colima means Containers on Lima.
Since Lima is aka Linux Machines. By transitivity, Colima can also mean Containers on Linux Machines.
And the Logo?
The logo was contributed by Daniel Hodvogner. Check this issue for more.
Troubleshooting and FAQs
Check here for Frequently Asked Questions.
How to Contribute?
Check here for the instructions on contributing to the project.
Community
- GitHub Discussions
- GitHub Issues
#colimachannel in the CNCF Slack- New account: https://slack.cncf.io/
- Login: https://cloud-native.slack.com/
Help Wanted
- Documentation and project website
License
MIT
Sponsoring the Project
If you (or your company) are benefiting from the project and would like to support the contributors, kindly sponsor.


