logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

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 → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
doc:autres:vm:lxc [29/10/2016 12:37]
greenmerlin [Installation]
doc:autres:vm:lxc [01/10/2018 08:57] (Version actuelle)
smolski [Introduction]
Ligne 14: Ligne 14:
 LXC (LinuX Container) est un système permettant d'​installer plusieurs distributions et applications séparées les unes des autres (comme des machines virtuelles) mais qui partagent malgré tout le même noyau du système hôte. \\ LXC (LinuX Container) est un système permettant d'​installer plusieurs distributions et applications séparées les unes des autres (comme des machines virtuelles) mais qui partagent malgré tout le même noyau du système hôte. \\
 Il est donc à mi-chemin entre un //chroot// et une machine virtuelle. Il est donc à mi-chemin entre un //chroot// et une machine virtuelle.
-<note warning>​Attention ! Sous Debian 7 Wheezy, LXC peut ne pas fournir une isolation suffisante permettant ainsi sous certaines conditions aux systèmes invités de compromettre le système hôte.\\ 
-Cette situation est en cours d'​évolution avec 3.12/​lxc-beta2 : [[https://​www.stgraber.org/​2014/​01/​17/​lxc-1-0-unprivileged-containers/​ | https://​www.stgraber.org/​2014/​01/​17/​lxc-1-0-unprivileged-containers/​]]</​note>​ 
  
-===== Installation =====+**Attention !** Sous Debian 7 Wheezy, LXC peut ne pas fournir une isolation suffisante permettant ainsi sous certaines conditions aux systèmes invités de compromettre le système hôte.\\ 
 +Cette situation est en cours d'​évolution avec 3.12/​lxc-beta2 : [[https://​www.stgraber.org/​2014/​01/​17/​lxc-1-0-unprivileged-containers/​ | https://​www.stgraber.org/​2014/​01/​17/​lxc-1-0-unprivileged-containers/​]] 
 + 
 +===== Installation ​des paquets nécessaire ​=====
  
 Installer le paquet lxc qui contient les outils permettant de créer, lancer, supprimer des conteneurs LXC Installer le paquet lxc qui contient les outils permettant de créer, lancer, supprimer des conteneurs LXC
 <code root>​apt-get install lxc</​code>​ <code root>​apt-get install lxc</​code>​
  
-D'​autres paquets sont recommandés,​ et notamment //​debootstrap//​ qui permettra d'​installer un autre système Debian :+D'​autres paquets sont recommandés,​ et notamment //​debootstrap//​ qui permettra d'​installer un autre système Debian, bridge-utils quand a lui vous permettra de créer des interfaces de type "​pont"​ permettant a votre conteneur de communiquer avec l'​extérieur:
 <code root>​apt-get install bridge-utils libvirt-bin debootstrap</​code>​ <code root>​apt-get install bridge-utils libvirt-bin debootstrap</​code>​
  
-===== Utilisation ​=====+===== Notes sur les anciennes versions 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>​
  
-==== Préparer le système hôte ====+[[https://​debian-facile.org/​doc:​autres:​vm:​lxc#​creation-de-votre-premier-conteneur|ICI]]
  
 === /etc/fstab === === /etc/fstab ===
Ligne 73: Ligne 78:
  
  
-==== 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 98: Ligne 104:
 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 ​+# 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 ====+===== Gérer et administer vos conteneur ===== 
 + 
 +==== Démarrer votre conteneur ====
  
 <code root>​lxc-start -n myfirstcontainer -d</​code>​ <code root>​lxc-start -n myfirstcontainer -d</​code>​
Ligne 141: Ligne 135:
 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 152: Ligne 160:
 <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 177: Ligne 181:
 <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 199: Ligne 190:
  
  
-Debian GNU/​Linux ​myfirstcontainer tty1+Debian GNU/​Linux ​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 212: Ligne 203:
 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 ====
Ligne 231: Ligne 212:
   *[[doc:​autres:​vm:​lxc:​reseau-bridge|TP : Configurer des conteneurs LXC en mode Bridge]]   *[[doc:​autres:​vm:​lxc:​reseau-bridge|TP : Configurer des conteneurs LXC en mode Bridge]]
   *[[doc:​autres:​vm:​lxc:​mode-utilisateur|TP :​ Utilisation de LXC en mode utilisateur non-privilégié]]   *[[doc:​autres:​vm:​lxc:​mode-utilisateur|TP :​ Utilisation de LXC en mode utilisateur non-privilégié]]
 +
 ===== Liens ===== ===== Liens =====
  
doc/autres/vm/lxc.1477737467.txt.gz · Dernière modification: 29/10/2016 12:37 par greenmerlin

Pied de page des forums

Propulsé par FluxBB