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/ »