abiosoft / colima
git clone https://github.com/abiosoft/colima.git
v0.10.3 · 4mo ago
Container runtimes on macOS (and Linux) with minimal setup
+5
stars, 24h · #2,970
+~35
stars, 7 days · #3,598
+~150
stars, 30 days · #3,594
31k
★ total · +0% this week
638
forks · 405 open issues
Star history (as recorded here)
LanguageGo
LicenseMIT
Created2021-09-04 (5y ago)
Last push8d ago
Watchers98
OwnerUser
GitHub topics
Links
- GitHub: github.com/abiosoft/colima
- Homepage: https://colima.run
- Releases · Issues · Hacker News mentions
README excerpt
## Colima - container runtimes on macOS (and Linux) with minimal setup. **Website & Documentation:** colima.run | colima.run/docs ## 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) - GPU accelerated containers for AI workloads ## Getting Started ### Installation Colima is available on Homebrew, MacPorts, Nix and Mise. Check here for other installation options. [code] Or stay on the bleeding edge (only Homebrew) [code] ## Usage Start Colima with defaults [code] For more usage options [code] Or use a config file [code] ## 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 install docker`. [code] 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. [code] 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. [code] #### 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. [code] 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. ### AI Models (GPU Accelerated) **Requires v0.10.0, Apple Silicon and macOS 13+** Colima supports GPU accelerated containers for AI workloads using the `krunkit` VM type. **Note:** To use krunkit with colima, ensure it is installed. Please follow their installation instructions Setup and use a model. [code] Colima supports two model runner backends: - **Docker Model Runner** (default) — supports Docker AI Registry and HuggingFace. - **Ramalama** — supports HuggingFace and Ollama registries. The default registry is the Docker AI Registry. Models can be run by name without a prefix: [code] See the AI Workloads documentation for more details. ### 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`,