Dev Local

Colima

Runtime conteneurs et Kubernetes local pour macOS et Linux via Lima VM - Docker ou containerd, k3s optionnel, multi-profils, alternative légère à Docker Desktop. MIT.

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)

Liens : GitHub  ·  Releases

Support : Communauté active. Projet mature, utilisé en production sur macOS.

Stack par défaut

ComposantValeur
VMLima (QEMU / Virtualization Framework sur Apple Silicon)
Runtimesdocker (défaut), containerd, incus
Kubernetesk3s (optionnel via --with-kubernetes)
PlateformesmacOS (Intel + Apple Silicon), Linux
CLI K8skubectl (à installer séparément)

Prérequis

RessourceValeur
macOS12.0+ (Intel ou Apple Silicon)
HomebrewRequis pour l'installation recommandée
docker CLISi 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 : colima ou colima-k8s
  • kubectl context : colima ou colima-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

Newsletter · 2 000+ abonnés

Reste au courant de ce qui bouge en prod

RudeOps veille devops hebdo, droit au but.

Gratuit · Sans spam · Désinscription en un clic