abiosoft

    abiosoft/colima

    #324 this week

    Container runtimes on macOS (and Linux) with minimal setup

    devops
    kubernetes
    ios
    containerd
    containerd-compose
    containers
    docker
    docker-compose
    Go
    MIT
    30.3K stars
    600 forks
    30.3K GitHub watchers
    Updated 8/10/2026
    View on GitHub

    Build with Backblaze B2

    SDKs, agent skills, IDE extensions, and reference pipelines from Backblaze Labs. All open source.

    Explore Backblaze Labs

    Loading star history...

    Use Cases & Benefits

    • Colima provides container runtimes on macOS and Linux with minimal setup, supporting Docker, containerd, Incus, and Kubernetes.
    • Key features include support for Intel and Apple Silicon Macs, automatic port forwarding, volume mounts, multiple instances, and VM customization.
    • Strengths are ease of use, multi-runtime support, and active maintenance; limitations include VM disk size constraints and Apple Silicon VM restrictions.
    • Organizations can use Colima to run containerized applications locally on macOS/Linux with Kubernetes support, enabling consistent development environments.
    • Ideal use cases are local container development, testing Kubernetes clusters on macOS, and running lightweight VMs for container runtimes.

    About colima

    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
      • Docker (with optional Kubernetes)
      • Containerd (with optional Kubernetes)
      • Incus (containers and virtual machines)

    Getting Started

    Installation

    Colima is available on Homebrew, MacPorts, and Nix. Check here for 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 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.

    The logo was contributed by Daniel Hodvogner. Check this issue for more.

    Troubleshooting and FAQs

    Check here for 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 sponsor.


    Discover Repositories

    Search across tracked repositories by name or description