Retour au cours

systemd nspawn conteneurs legers

Utilisez systemd-nspawn pour lancer des envs isolés proches d’une VM légère.

objectifs d’apprentissage

  • Créer image.
  • Lancer conteneur.
  • Intégrer réseau simple.

prérequis

  • Accès root.
  • systemd-nspawn installé.

notions clés

  • machinectl.
  • portable services.
  • bind mounts.

démonstration guidée

étape 1

Créer une image de base et démarrer un conteneur.

sudo debootstrap stable /var/lib/machines/demo http://deb.debian.org/debian/ || true
sudo systemd-nspawn -D /var/lib/machines/demo -n -b --machine=demo || true

étape 2

Gérer via machinectl et configurer un bind mount.

machinectl list 2>/dev/null || true
sudo systemd-nspawn -D /var/lib/machines/demo -n --bind=/opt/data:/mnt/data --machine=demo -- echo ok || true

exercice

Créez un portable service depuis un rootfs et lancez-le.

correction

Commandes indicatives pour portablectl.

# portablectl attach /var/lib/machines/demo --name=demo || true
# systemctl start portable-demo.service || true

quiz éclair

  1. Quelle commande liste les machines nspawn ?
  • a) machinectl list
  • b) docker ps
  • c) nspawn ps

ressources

Sujets abordés