colima
Standard interface for running containers via Colima on macOS.
Install
mkdir -p .claude/skills/colima && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/18025" && unzip -o skill.zip -d .claude/skills/colima && rm skill.zipInstalls to .claude/skills/colima
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Guide to using Colima — container runtimes (Docker, containerd, Kubernetes, Incus) on macOS and Linux via lightweight Lima VMs. Use this skill whenever Colima is (or should be) the container backend: installing Colima; `colima start/stop/status/delete/ssh`; picking or switching a runtime; the `Cannot connect to the Docker daemon at unix:///var/run/docker.sock` error; Docker contexts and socket location; registry mirrors / insecure registries; buildx; bind or volume mounts that show up empty in the container; disk space recovery/resize; reachable VM IP; GPU / AI model workloads; config files, profiles and `COLIMA_HOME`; or a Colima VM that won't start. ALSO use it for **writing scripts that drive Colima** — bootstrap, dev-env, deploy, or CI scripts that bring Colima up non-interactively — because the skill has the correct flags, profile-specific socket paths, idempotent `colima start` guards, and readiness/teardown patterns that hand-written scripts routinely get wrong (e.g. inventing a non-existent flag or hardcoding the wrong docker socket). Prefer this over generic Docker advice whenever Colima is the daemon. This skill is specifically about **Colima** — not Docker Desktop, minikube, Kind, K3d, Rancher Desktop, OrbStack, Podman, or plain `limactl`.Key capabilities
- →Boot a small VM and provision Docker, containerd, Kubernetes, or Incus inside it
- →Wire up the host client so docker commands work
- →Configure CPU, memory, and disk resources for the VM
- →Switch container runtimes by recreating the VM
- →Set up and run AI models with GPU support on Apple Silicon
- →Troubleshoot Docker daemon connection issues
How it works
Colima runs container runtimes on macOS and Linux by booting a small VM and provisioning the chosen runtime inside it. It then configures the host client to interact with the VM's runtime.
Inputs & outputs
When to use colima
- →Start docker container runtime
- →Configure kubernetes with colima
- →Troubleshoot docker daemon connection
About this skill
Colima
Colima runs container runtimes on macOS (and Linux) with minimal setup. It's a higher-level
wrapper over Lima: it boots a small VM and provisions Docker,
containerd, Kubernetes and/or Incus inside it, then wires up the host client so docker (etc.)
"just works".
Scope: the canonical source is the repo's own docs (
docs/INSTALL.md,docs/FAQ.md) plus README usage. Behavior is version-gated in many places — keep thevX.Y.Znotes when advising, since users run a range of versions. Check the user's version withcolima version.
Quick start
brew install colima # + docker client if using Docker runtime: brew install docker
colima start # boots the VM, Docker runtime by default
docker run hello-world # docker client works with no extra setup
Full install options (MacPorts, Nix, Arch, binary, source) → references/install.md.
Core commands
| Command | What it does |
|---|---|
colima start [profile] | Create/start the VM. Flags: --runtime, --kubernetes, --cpu, --memory, --disk, --edit, --env, --dns, --network-address, --vm-type, --foreground |
colima stop [--force] | Stop the VM. --force recovers a Broken status |
colima status | Show running status (incl. Docker socket path) |
colima list | List profiles and their status/arch/cpus/mem/disk/runtime |
colima restart | Stop + start (needed after editing mounts/config) |
colima delete [--data] | Delete the VM. --data also deletes container data (since v0.9.0 data lives on a separate disk) |
colima ssh [-- <cmd>] | Shell into the VM, or run one command |
colima start --edit | Start while editing the YAML config (since v0.4.0) |
colima template | Edit the default config template for new instances |
colima update | Update the container runtime in place (since v0.7.6) |
colima nerdctl ... | nerdctl wrapper for the containerd runtime |
colima model ... | Set up / run AI models (GPU, krunkit; since v0.10.0) |
colima version | Print the version (use it before applying version-gated advice) |
Profiles isolate independent VMs: colima start work operates on the work profile; default is default.
colima --help / colima start --help list everything.
Runtimes — chosen at start
Default is Docker. Switching the runtime requires re-creating the VM — a stop/start alone
does not change it: colima delete --data && colima start --runtime <new>.
- Docker (default):
colima start→docker ...works directly. Needs the docker client (brew install docker). - Containerd:
colima start --runtime containerd→ usecolima nerdctl ...(runcolima nerdctl installto add anerdctlalias to$PATH). - Kubernetes:
colima start --kubernetes(needskubectl). Shares images with the chosen container runtime. - Incus (v0.7.0+):
colima start --runtime incus→incus .... - AI models / GPU (v0.10.0+, Apple Silicon, macOS 13+):
colima start --runtime docker --vm-type krunkitthencolima model run gemma3.
Per-runtime config, socket location, registry mirrors, buildx, nerdctl, AI model registries → references/runtimes.md.
Registry mirror (common task):
colima start --registry-mirror <url>(repeatable) or--edit→ add underdocker.registry-mirrors. For the client to honor mirrors, the host~/.docker/daemon.jsonmay also need the same entries. Details →references/runtimes.md.
Customizing the VM
Defaults: 2 CPUs, 2 GiB memory, 100 GiB disk. Customize via flags or the config file.
colima start --cpu 4 --memory 8 --disk 100 # at create time
colima stop && colima start --cpu 4 --memory 8 # change an existing VM (disk can only grow)
colima start --vm-type=vz --vz-rosetta # Rosetta 2 (v0.5.3+, Apple Silicon, macOS 13+)
Config files, profiles, COLIMA_HOME, passing env into the VM, Lima overrides → references/configuration.md.
Writing a bootstrap / CI / deploy script? See references/automation.md for non-interactive patterns:
idempotent start (colima status guard), readiness wait (docker info loop), DOCKER_HOST wiring so the
rest of the script targets Colima, --foreground for supervisors, teardown, and a GitHub Actions sketch.
Common gotchas (quick)
Cannot connect to the Docker daemon at unix:///var/run/docker.sock— an app isn't using Colima's Docker context. Point it at Colima's socket (export DOCKER_HOST="unix://$HOME/.colima/default/docker.sock") or relink the socket. Details + socket location by version →references/troubleshooting.md.Brokenstatus (e.g. after a macOS restart):colima stop --force, thencolima start.- Docker bind mount shows empty — the host path must be under
/Users/$USER, or add it to themountssection of the config andcolima restart. Paths with spaces are unsupported. - Won't start / fatal error — re-run with
--verbose; common causes are no virtualization support or an x86_64 Homebrew/Colima on Apple Silicon. Seereferences/troubleshooting.md.
Full troubleshooting (no internet/DNS, runc/cgroups error, disk recovery & resize, reachable IP, post-upgrade
issues, deleting data) → references/troubleshooting.md.
References
references/install.md— all install methods (Homebrew, MacPorts, Nix, Arch, binary, source).references/configuration.md— config file & profiles, file locations & env vars, custom VM env, Lima overrides, autostart.references/runtimes.md— Docker (socket/contexts/registries/buildx), Containerd, Kubernetes, Incus, AI models; comparisons to Lima/minikube/Kind/K3d.references/troubleshooting.md— startup failures, networking, mounts, disk, updates, deleting data.references/automation.md— non-interactive patterns for bootstrap / CI / deploy scripts.
When not to use it
- →When using Docker Desktop, minikube, Kind, K3d, Rancher Desktop, OrbStack, Podman, or plain limactl
- →When the host path for a Docker bind mount contains spaces
- →When a non-existent flag is invented or the wrong docker socket is hardcoded in scripts
Limitations
- →Switching the runtime requires re-creating the VM
- →Disk can only grow, not shrink
- →Paths with spaces are unsupported for Docker bind mounts
How it compares
Colima provides a higher-level wrapper over Lima, simplifying the setup and management of container runtimes within lightweight VMs compared to manual Lima configurations.
Compared to similar skills
colima side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| colima (this skill) | 0 | 1mo | Review | Beginner |
| deployment-engineer | 4 | 3mo | No flags | Advanced |
| devops | 2 | 6mo | Review | Intermediate |
| k8s-kind | 1 | 5mo | Review | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
deployment-engineer
sickn33
Expert deployment engineer specializing in modern CI/CD pipelines, GitOps workflows, and advanced deployment automation. Masters GitHub Actions, ArgoCD/Flux, progressive delivery, container security, and platform engineering. Handles zero-downtime deployments, security scanning, and developer experience optimization. Use PROACTIVELY for CI/CD design, GitOps implementation, or deployment automation.
devops
mrgoonie
Deploy to Cloudflare (Workers, R2, D1), Docker, GCP (Cloud Run, GKE), Kubernetes (kubectl, Helm). Use for serverless, containers, CI/CD, GitOps, security audit.
k8s-kind
rohitg00
Manage kind (Kubernetes IN Docker) local clusters. Use when creating, testing, or developing with local Kubernetes clusters in Docker containers.
devops-engineer
Jeffallan
Use when setting up CI/CD pipelines, containerizing applications, or managing infrastructure as code. Invoke for pipelines, Docker, Kubernetes, cloud platforms, GitOps.
eks
itsmostafa
AWS EKS Kubernetes management for clusters, node groups, and workloads. Use when creating clusters, configuring IRSA, managing node groups, deploying applications, or integrating with AWS services.
kubernetes
OpenHands
Set up and manage local Kubernetes clusters using KIND (Kubernetes IN Docker). Use when testing Kubernetes applications locally or developing cloud-native workloads.