Colima (Containers in Lima) est un outil CLI open source pour exécuter des conteneurs Docker ou containerd sur macOS et Linux via des machines virtuelles Lima. C'est l'alternative la plus légère à Docker Desktop sur macOS : une commande suffit pour démarrer un runtime Docker ou containerd. L'option --with-kubernetes ajoute k3s au démarrage. Colima supporte plusieurs profils simultanés (dev, staging, k8s…) avec des ressources CPU/RAM/disque distinctes par profil.
Informations essentielles
Origine : Abiola Ibrahim (communauté) · Licence : MIT · Architectures : x86_64, ARM64 (Apple Silicon)
Support : Communauté active. Projet mature, utilisé en production sur macOS.
Stack par défaut
| Composant | Valeur |
|---|---|
| VM | Lima (QEMU / Virtualization Framework sur Apple Silicon) |
| Runtimes | docker (défaut), containerd, incus |
| Kubernetes | k3s (optionnel via --with-kubernetes) |
| Plateformes | macOS (Intel + Apple Silicon), Linux |
| CLI K8s | kubectl (à installer séparément) |
Prérequis
| Ressource | Valeur |
|---|---|
| macOS | 12.0+ (Intel ou Apple Silicon) |
| Homebrew | Requis pour l'installation recommandée |
| docker CLI | Si runtime docker voulu (pas Docker Desktop) |
Installation
# macOS - avec runtime Docker
brew install colima docker
# macOS - avec containerd + nerdctl
brew install colima nerdctl
# Linux - binaire
COLIMA_VERSION=$(curl -s "https://api.github.com/repos/abiosoft/colima/releases/latest" \
| grep '"tag_name"' | sed 's/.*"v\([^"]*\)".*/\1/')
curl -Lo colima \
"https://github.com/abiosoft/colima/releases/download/v${COLIMA_VERSION}/colima-$(uname -s)-$(uname -m)"
chmod +x colima && sudo mv colima /usr/local/bin/
colima version
Démarrer un runtime
# Runtime Docker (par défaut)
colima start
# Docker avec ressources personnalisées
colima start --cpu 4 --memory 8 --disk 60
# Runtime containerd
colima start --runtime containerd
# Kubernetes (k3s) + Docker
colima start --with-kubernetes
# Kubernetes + containerd + ressources personnalisées
colima start --runtime containerd --with-kubernetes --cpu 4 --memory 8
# Statut
colima status
# Arrêter
colima stop
# Supprimer la VM
colima delete
Multi-profils
Colima supporte plusieurs instances nommées (profils) avec des configurations distinctes :
# Profil par défaut - Docker sans K8s
colima start
# Profil dédié Kubernetes
colima start k8s --with-kubernetes --cpu 4 --memory 8 --disk 40
# Lister les profils
colima list
# Arrêter un profil spécifique
colima stop k8s
Chaque profil crée un contexte Docker et un kubeconfig distinct :
- Docker context :
colimaoucolima-k8s - kubectl context :
colimaoucolima-k8s
Utilisation avec Docker
# Après `colima start`, le contexte Docker est configuré automatiquement
docker version
docker ps
docker run -d -p 8080:80 nginx
docker build -t myimage:tag .
docker compose up -d
# Vérifier le contexte Docker actif
docker context ls
docker context use colima
Utilisation avec containerd (nerdctl)
colima start --runtime containerd
nerdctl ps
nerdctl run -d -p 8080:80 nginx
nerdctl build -t myimage:tag .
nerdctl compose up -d
Kubernetes
colima start --with-kubernetes
# kubectl (installer si absent)
brew install kubectl
kubectl get nodes
# NAME STATUS ROLES AGE
# colima Ready control-plane,master 1m
kubectl config current-context # colima
Configuration avancée
# Éditer la config VM (CPU, mémoire, mounts, réseau)
colima edit
# SSH dans la VM
colima ssh
colima ssh -p k8s # Profil spécifique
# Monter un répertoire hôte en lecture/écriture
colima start --mount /Users/me/projects:rw
# VirtioFS pour des performances améliorées (macOS 13+)
colima start --mount-type virtiofs
Mise à jour
brew upgrade colima
Troubleshooting
# Colima ne démarre pas
colima start --verbose
# Docker "Cannot connect to Docker daemon"
colima status # Vérifier que colima tourne
docker context use colima
# Problèmes de performance sur les volumes macOS
colima stop
colima start --mount-type virtiofs # Plus rapide sur macOS 13+
# Reset complet
colima stop
colima delete
colima start
# Kubernetes inaccessible après redémarrage
colima restart
kubectl config use-context colima
Ressources
- GitHub : https://github.com/abiosoft/colima
- Lima (VM engine) : https://github.com/lima-vm/lima
- Releases : https://github.com/abiosoft/colima/releases