Création de container à partir de dépôts

Pour des raisons de sécurité (ne pas dépendre d’une image pré-générée mais de dépôts interne), j’ai dû générer des container LXC à partir d’un dépôt spécifique.
Cette documentation sera faite sous CentOS.

Il faut d’abord récupérer les dépendances suivantes:

yum install -y yum install lxc lxc-template lxc-extra

Une fois ces dépendances récupérées, on peut regarder les fichiers templates récupérés sous /usr/share/lxc/templates/
pour voir comment sont générées les images.

Pour le template CentOS:

/usr/share/lxc/templates/lxc-centos -h
Host CPE ID from /etc/os-release: cpe:/o:centos:centos:7
usage:
    /usr/share/lxc/templates/lxc-centos -n|--name=name
        [-p|--path=path] [-c|--clean] [-R|--release=release] [-a|--arch=arch]
        [-h|--help]
Mandatory args:
  -n,--name         container name, used to as an identifier for that container from now on
Optional args:
  -p,--path         path to where the container rootfs will be created, defaults to /var/lib/lxc/name.
  -c,--clean        clean the cache
  -R,--release      CentOS release for the new container. If the host is CentOS, then it will default to the host's release.
     --fqdn         fully qualified domain name (FQDN) for DNS and system naming
     --repo         repository to use (url)
  -a,--arch         Define what arch the container will be [i686,x86_64]
  -h,--help         print this help

On voit donc que ce template peux récupérer en paramètre un dépôt, on peut donc utiliser la commande suivante pour générer le container:

lxc-create -n NOM  -t centos - --release  --repo=

Soit par exemple:

lxc-create -n centos-container -t centos - --release 7 --repo=http://fr.mirror.babylon.network/centos/7/os/x86_64/

Une fois cette étape accomplie, on pourra retrouver le container et sa configuration sous « /var/lib/lxc/NOM/ »