Skip to content

abiosoft/colima

Repository files navigation

colima-logo

Colima - container runtimes on macOS (and Linux) with minimal setup.

Go Integration Go Report Card

Demonstration

Features

Support for Intel and Apple Silicon Macs, and Linux

  • Simple CLI interface with sensible defaults
  • Automatic Port Forwarding
  • Volume mounts
  • Multiple instances
  • Support for multiple container runtimes

Getting Started

Installation

Colima is available on Homebrew, MacPorts, and Nix. Checkherefor other installation options.

# Homebrew
brew install colima

# MacPorts
sudo port install colima

# Nix
nix-env -iA nixpkgs.colima

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 start

Usage

Start Colima with defaults

colima start

For more usage options

colima --help
colima start --help

Or use a config file

colima start --edit

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 brewbrew install docker.

You can use thedockerclient on macOS aftercolima startwith no additional setup.

Containerd

colima start --runtime containerdstarts and setup Containerd. You can usecolima nerdctlto interact with Containerd usingnerdctl.

It is recommended to runcolima nerdctl installto installnerdctlalias script in $PATH.

Kubernetes

kubectl is required for Kubernetes. Installable withbrew install kubectl.

To enable Kubernetes, start Colima with--kubernetesflag.

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 thek8s.ionamespace are accessible to Kubernetes.

Incus

Requires v0.7.0

Incus client is required for Incus runtime. Installable with brewbrew install incus.

colima start --runtime incusstarts and setup Incus.

You can use theincusclient on macOS aftercolima startwith no additional setup.

None

Requires v0.7.0

Colima can also be utilised solely as a headless virtual machine manager by specifyingnoneruntime.

Customizing the VM

The default VM created by Colima has 2 CPUs, 2GiB memory and 60GiB storage.

The VM can be customized either by passing additional flags tocolima start. e.g.--cpu,--memory,--disk,--runtime. Or by editing the config file withcolima 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 onLima.

Since Lima is aka Linux Machines. By transitivity, Colima can also mean Containers on Linux Machines.

And the Logo?

The logo was contributed byDaniel Hodvogner.Checkthis issuefor more.

Troubleshooting and FAQs

Checkherefor Frequently Asked Questions.

Community

Help Wanted

  • Documentation (wiki pages)

License

MIT

Sponsoring the Project

If you (or your company) are benefiting from the project and would like to support the contributors, kindly support the project.

Buy Me A Coffee