Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
doc:autres:vm:lxc [29/10/2016 12:47] greenmerlin [Installation] |
doc:autres:vm:lxc [29/10/2016 14:10] greenmerlin [Création de votre premier conteneur] |
||
---|---|---|---|
Ligne 25: | Ligne 25: | ||
<code root>apt-get install bridge-utils libvirt-bin debootstrap</code> | <code root>apt-get install bridge-utils libvirt-bin debootstrap</code> | ||
- | ===== Installation et Utilisation ===== | + | ===== Notes sur les anciennes versions de debian ===== |
- | === Ancienne version de debian === | + | ==== Ancienne version de debian ==== |
<note important>Si vous utilisez la version stable de debian (la jessie à l'heure ou j'écrit ses lignes) vous pouvez directement vous rendre au paragraphe suivant</note> | <note important>Si vous utilisez la version stable de debian (la jessie à l'heure ou j'écrit ses lignes) vous pouvez directement vous rendre au paragraphe suivant</note> | ||
+ | |||
+ | [[https://debian-facile.org/doc:autres:vm:lxc#creation-de-votre-premier-conteneur|ICI]] | ||
=== /etc/fstab === | === /etc/fstab === | ||
Ligne 75: | Ligne 77: | ||
- | ==== Création de RootFS ==== | + | ===== Création de votre premier conteneur ===== |
LXC vient avec des //Templates//, c'est à dire des scripts permettant l'installation simple d'un système. \\ | LXC vient avec des //Templates//, c'est à dire des scripts permettant l'installation simple d'un système. \\ | ||
Il en existe pour Debian, Archlinux, Fedora, OpenSuse et Ubuntu. | Il en existe pour Debian, Archlinux, Fedora, OpenSuse et Ubuntu. | ||
- | Créons par exemple un système, tiens au hasard, **Debian** :-D | + | Créons par exemple un système, tiens au hasard, **Une Debian** :-D |
<code root>lxc-create -n myfirstcontainer -t debian</code> | <code root>lxc-create -n myfirstcontainer -t debian</code> | ||
+ | <note important>le -n définit le nom de votre conteneur</note> | ||
Cela va nous installer une Debian Stable super minimale dans la même architecture que le système hôte (i386, AMD64 ...) dans ///var/lib/lxc/myfirstcontainer/rootfs// et un fichier de configuration ///var/lib/lxc/myfirstcontayner/config//. | Cela va nous installer une Debian Stable super minimale dans la même architecture que le système hôte (i386, AMD64 ...) dans ///var/lib/lxc/myfirstcontainer/rootfs// et un fichier de configuration ///var/lib/lxc/myfirstcontayner/config//. | ||
Ligne 100: | Ligne 103: | ||
Un fichier par défaut est créé lors de la création du conteneur, par exemple : | Un fichier par défaut est créé lors de la création du conteneur, par exemple : | ||
<file bash /var/lib/lxc/myfirstcontainer/config> | <file bash /var/lib/lxc/myfirstcontainer/config> | ||
- | lxc.rootfs = /var/lib/lxc/myfirstcontainer/rootfs | + | # Template used to create this container: /usr/share/lxc/templates/lxc-debian |
- | lxc.tty = 4 | + | # Parameters passed to the template: -r jessie |
- | lxc.pts = 1024 | + | # For additional config options, please look at lxc.container.conf(5) |
- | lxc.arch = amd64 | + | lxc.network.type = none |
- | lxc.utsname = myfirstcontainer | + | |
- | lxc.cap.drop = sys_module mac_admin mac_override sys_time | + | |
- | # When using LXC with apparmor, uncomment the next line to run unconfined: | + | lxc.rootfs = /var/lib/lxc/proxies/rootfs |
- | #lxc.aa_profile = unconfined | + | lxc.start.auto = 1 |
+ | # Common configuration | ||
+ | lxc.include = /usr/share/lxc/config/debian.common.conf | ||
- | lxc.cgroup.devices.deny = a | + | # Container specific configuration |
- | # /dev/null and zero | + | lxc.mount = /var/lib/lxc/proxies/fstab |
- | lxc.cgroup.devices.allow = c 1:3 rwm | + | lxc.utsname = proxies |
- | lxc.cgroup.devices.allow = c 1:5 rwm | + | lxc.arch = i386 |
- | # consoles | + | lxc.autodev = 1 |
- | lxc.cgroup.devices.allow = c 5:1 rwm | + | lxc.kmsg = 0 |
- | lxc.cgroup.devices.allow = c 5:0 rwm | + | |
- | lxc.cgroup.devices.allow = c 4:0 rwm | + | |
- | lxc.cgroup.devices.allow = c 4:1 rwm | + | |
- | # /dev/{,u}random | + | |
- | lxc.cgroup.devices.allow = c 1:9 rwm | + | |
- | lxc.cgroup.devices.allow = c 1:8 rwm | + | |
- | lxc.cgroup.devices.allow = c 136:* rwm | + | |
- | lxc.cgroup.devices.allow = c 5:2 rwm | + | |
- | # rtc | + | |
- | lxc.cgroup.devices.allow = c 254:0 rm | + | |
- | + | ||
- | # mounts point | + | |
- | lxc.mount.entry = proc proc proc nodev,noexec,nosuid 0 0 | + | |
- | lxc.mount.entry = sysfs sys sysfs defaults 0 0 | + | |
</file> | </file> | ||
Ce fichier est à adapter suivant les besoins. | Ce fichier est à adapter suivant les besoins. | ||
- | ==== Lancer le conteneur ==== | + | ==== Démarrer votre conteneur ==== |
<code root>lxc-start -n myfirstcontainer -d</code> | <code root>lxc-start -n myfirstcontainer -d</code> | ||
Ligne 143: | Ligne 132: | ||
Utilisez lxc-start au premier plan seulement dans un but de debuggage.</note> | Utilisez lxc-start au premier plan seulement dans un but de debuggage.</note> | ||
- | Pour un démarrage automatique : | + | === Démarrage automatique de votre conteneur (au boot de votre bécanne)=== |
- | <code root>ln -s /var/lib/lxc/mycontainer/config /etc/lxc/auto/mycontainer</code> | + | |
+ | Simple comme Debian | ||
+ | <code root>systemctl enable lxc</code> | ||
+ | |||
+ | ensuite éditez le fichier /var/lib/lxc/$containername/config | ||
+ | <file config /var/lib/lxc/proxies/config> | ||
+ | lxc.start.auto = 1 | ||
+ | </file> | ||
+ | puis on vérifie par un | ||
+ | <code root>lxc-ls --f</code> | ||
+ | qui vous renvois ça | ||
+ | <code>NAME STATE IPV4 IPV6 AUTOSTART | ||
+ | --------------------------------------- | ||
+ | myfirstcontainer STOPPED - - YES | ||
+ | </code> | ||
==== Arrêter le conteneur ==== | ==== Arrêter le conteneur ==== | ||
Ligne 154: | Ligne 157: | ||
<code root>lxc-halt -n myfirstcontainer</code> | <code root>lxc-halt -n myfirstcontainer</code> | ||
- | ==== Afficher la liste des conteneurs ==== | + | ==== Afficher la liste des conteneurs et leurs etats ==== |
- | + | ||
- | <code root>lxc-ls</code> | + | |
- | <code config retour de la commande>myfirstcontainer | + | |
- | monsecondconteneur | + | |
- | unautreconteneur</code> | + | |
+ | <code root>lxc-ls -f</code> | ||
==== Mettre en pause un conteneur ==== | ==== Mettre en pause un conteneur ==== | ||
Ligne 179: | Ligne 178: | ||
<code config retour de la commande>state: RUNNING | <code config retour de la commande>state: RUNNING | ||
pid: 19879</code> | pid: 19879</code> | ||
- | |||
- | ==== Lister les conteneurs et leur état ==== | ||
- | |||
- | <code root>lxc-list</code> | ||
- | <code config retour de la commande>RUNNING | ||
- | myfirstcontainer | ||
- | |||
- | FROZEN | ||
- | unautreconteneur | ||
- | |||
- | STOPPED | ||
- | monsecondconteneur</code> | ||
- | |||
==== Se connecter au conteneur ==== | ==== Se connecter au conteneur ==== | ||
Ligne 201: | Ligne 187: | ||
- | Debian GNU/Linux 7 myfirstcontainer tty1 | + | Debian GNU/Linux 8 myfirstcontainer tty1 |
myfirstcontainer login: root | myfirstcontainer login: root | ||
Mot de passe : | Mot de passe : | ||
- | Dernière connexion : dimanche 2 mars 2014 à 16:45:20 CET sur tty1 | + | Dernière connexion : dimanche 29 novembre 2016 à 16:45:20 CET sur tty1 |
- | Linux myfirstcontainer 3.2.0-4-amd64 #1 SMP Debian 3.2.54-2 x86_64 | + | Linux proxies 3.16.0-4-586 #1 Debian 3.16.36-1+deb8u2 (2016-10-19) i686 |
The programs included with the Debian GNU/Linux system are free software; | The programs included with the Debian GNU/Linux system are free software; | ||
Ligne 214: | Ligne 200: | ||
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent | Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent | ||
permitted by applicable law. | permitted by applicable law. | ||
- | root@myfirstcontainer:~# df -h | ||
- | Sys. fich. Taille Util. Dispo Uti% Monté sur | ||
- | tmpfs 372M 20K 372M 1% /run | ||
- | tmpfs 5,0M 0 5,0M 0% /run/lock | ||
- | tmpfs 1,5G 0 1,5G 0% /run/shm | ||
- | rootfs 7,7G 6,5G 865M 89% / | ||
- | root@myfirstcontainer:~# ifconfig eth0 | ||
- | eth0 Link encap:Ethernet HWaddr 00:ff:12:34:56:79 | ||
- | inet adr:192.168.1.57 Bcast:192.168.1.255 Masque:255.255.255.0 | ||
- | adr inet6: fe80::2ff:12ff:fe34:5679/64 Scope:Lien</code> | ||
==== Quitter le conteneur ==== | ==== Quitter le conteneur ==== |