Aller au contenu
Exécuter des containers sur MacOS avec Lima

Exécuter des containers sur MacOS avec Lima

·2 mins·

Utiliser Docker sur MacOS peut être un problème, étant donné que Docker Desktop est un peu agressif avec la consommation des ressources de la machine et le changement de leur license depuis le 31 janvier 2022, c’est pourquoi certaines alternatives ont été créées, Lima en fait partie, et c’est de cela que je vais parler un peu.

Le projet Lima
#

Le projet lima-vm (Linux Machines) utilise des machines virtuelles Linux pour effectuer un partage automatique de fichiers et une redirection de port (similaire à WSL2).

L’objective inital de Lima était de provouvoir containerd, y compris nerdctl ( contaiNEAD CTL), auprès des utilisateurs de MacOS, mais Lima peut également être utilisé pour des applications non conteneurisées.

Lima prend également en charge:

  • d’autres moteur de containers, tels que docker, podman, apptainer.
  • des orchestrateurs de conteneurs tels que Kubernetes (avec k3s et via kubeadm), faasd et nomad.
  • un bon nombre de distributions Linux, tel que Alpine, Debian, Fedora, openSUSE, Arch Linux, etc.

Vous pouvez consulter plus de détails dans le référentiel Github: lima-vm

Il est temps de l’utiliser
#

L’installation sur MacOS peut se faire avec homebrew:

brew install lima

Après cela, utilisez simplement la CLI (limactl) pour démarrer une instance:

limactl start

Les paramètres d’instance par défaut (default) sont:

  • Système d’exploitation: la dernière version d’Ubuntu (actuellement: Ubuntu 23.10)
  • Processeur: 4 cores
  • Mémoire: 4 Go
  • Disque: 100 Go
  • Montages:
    • ~ (lecture seule)
    • /tmp/lima (écriture)
  • SSH: 127.0.0.1:60022

Vous pouvez lancer une instance à partir d’un modèle, pour voir les modèles disponibles:

limactl start --list-templates

Le résultat ressemblera à ceci:

almalinux-8
almalinux-9
almalinux
alpine
apptainer-rootful
apptainer
archlinux
buildkit
centos-stream-8
centos-stream-9
centos-stream
debian-11
debian-12
debian
default
...

Démarrage de l’instance à partir d’un modèle:

limactl start --name=alpine-instance template://alpine

Vous pouvez lister les instances créées/démarrées avec:

limactl list

Pour accéder à l’instance, vous pouvez utiliser la commande limactl shell de deux manières:

  • ouvrir un shell: limactl shell <instance-name>
  • exécuter une commande: lima shell <instance-name> <command>

Si vous le souhaitez arrêter une instance, utilisez simplement:

limactl stop <instance-name>

Et si vous souhaitez supprimer:

limatcl delete <instance-name>

Il existe d’autre commandes, vous pouvez consulter la liste ici.