Outils pour utilisateurs

Outils du site


installation_et_utilisation_de_container_lxc

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édentesRévision précédente
Prochaine révision
Révision précédente
installation_et_utilisation_de_container_lxc [2021/12/02 15:56] Benjamin Labomediainstallation_et_utilisation_de_container_lxc [2022/07/08 22:00] (Version actuelle) – [Snapshot de container] Labomedia
Ligne 8: Ligne 8:
  
 ====== Installation de containers LXC sous Debian 11 ====== ====== Installation de containers LXC sous Debian 11 ======
-  apt install lxc+  apt install lxc apparmor
      
 ===== Réseau : configuration mode Independent bridge setup ===== ===== Réseau : configuration mode Independent bridge setup =====
Ligne 41: Ligne 41:
  
   * Référence : https://wiki.debian.org/LXC#Installation   * Référence : https://wiki.debian.org/LXC#Installation
 +
 +====== Création de container LXC ======
 +  lxc-create -n musique -t download
 +Demande quelle distribution installer pour quelle architecture
 +  lxc-create -n musique -t download  -- -d ubuntu -r bionic -a amd64
 +  DOWNLOAD_KEYSERVER="keyserver.ubuntu.com" lxc-create -n atelier -t download  -- -d debian -r bullseye -a amd64
 +
  
 ==== Configuration type d'un container ==== ==== Configuration type d'un container ====
Ligne 65: Ligne 72:
 lxc.start.auto = 1 lxc.start.auto = 1
 </code> </code>
 +
 +Voir pour cinfig ip fixe (mais dns ?)
 +<code>
 +lxc.net.0.hwaddr = mac adresse
 +lxc.net.0.ipv4.address = 100.0.0.2
 +lxc.net.0.ipv4.gateway = 100.0.0.1
 +</code>
 +
 +====== Commandes de base pour manipuler des containers ======
 +Créer un nouveau container sous debian
 +  lxc-create -n ynh -t download -- -d debian -r bullseye -a amd64
 +  
 +Si 
 +  Setting up the GPG keyring
 +  ERROR: Unable to fetch GPG key from keyserver
 +  lxc-create: dokos: lxccontainer.c: create_run_template: 1616 Failed to create container from template
 +
 +alors https://serverok.in/lxc-error-unable-to-fetch-gpg-key-from-keyserver
 +  DOWNLOAD_KEYSERVER="keyserver.ubuntu.com" lxc-create -n ynh -t download -- -d debian -r bullseye -a amd64
 +  
 +
 +Lister les containers présents sur le serveur et leurs IP si démarrés
 +  lxc-ls -f
 +
 +Démarrer un container nommé ynh
 +  lxc-start ynh
 +
 +Se loguer dans le container en tant que root
 +  lxc-attach ynh
 +
 +Arrêter un container
 +  lxc-stop ynh
 +
 +Debug du démarrage d'un container
 +  lxc-start ynh --logfile ~/loguplxccontainer.txt --logpriority DEBUG
 +
 +
 +  
 +===== Snapshot de container =====
 +
 +Il faut d'abord stopper le container avant de faire un snapshot :
 +  lxc-stop nomducontainer
 +Pour réaliser un snapshot :
 +  lxc-snapshot -n nomducontainer
 +Lister les snapshots :
 +  lxc-snapshot -n nomducontainer -L
 +Restaurer un snapshot :
 +  lxc-snapshot -n nomducontainer -r nomdusnapshotàrestaurer
 +Détruire un snapshot :
 +  lxc-snapshot -n nomducontainer -d nomdusnapshot
 +Pour plus d'options :
 +  * [[https://linuxcontainers.org/lxc/manpages/man1/lxc-snapshot.1.html|la doc de lxc-snapshot]]
 +
 +===== Envoyer une commande au container LXC depuis l'extérieur =====
 +Par exemple pour faire un dump de la base de données (à adapter en fonction de la bdd)
 +  lxc-attach -n nomducontainer -- /bin/bash -c "sudo -u postgres pg_dumpall | gzip -c > /home/ubuntu/bddbackup.gz"
 +Exemple de script pour sauvegarder toutes les bdd de containers utilisant la même configuration
 +<file bash lxc_all-backupdb.sh>*
 +#!/bin/bash
 +# Get the vm list
 +vms="$(lxc-ls --active)"
 + 
 +# Update each vm
 +update_vm(){
 +        local vm="$1"
 +        echo "*** [VM: $vm [$(hostname) @ $(date)] ] ***"
 +        /usr/bin/lxc-attach -n "$vm" -- /bin/bash -c "sudo -u postgres pg_dumpall | gzip -c > /home/ubuntu/bddbackup.gz"
 +        echo "- backup db done ----------------------------------------------------------------"
 +}
 + 
 +# Do it
 +for v in $vms
 +do
 +   update_vm "$v"
 +done
 +</file>
 +====== Reverse proxy NGINX vers un container LXC ======
 +On installe un serveur web nginx qui va renvoyer le traffic web vers le container LXC précédemment installé
 +  * Un [[https://linuxiac.com/reverse-proxy-with-nginx/|tuto pour la mise en place basique en http]]
 +  * Un tuto pour [[https://seanthegeek.net/1035/how-to-configure-a-nginx-reverse-proxy-with-lets-encrypt-certificates/|l'utilisation de certbot avec Nginx]]
 +  * A voir pour conf https://blog.budhajeewa.com/assigning-ssl-using-lets-encrypt-to-websites-running-in-lxcs/
 +
 +
 +{{tag>bj serveur lxc container linux virtualisation futuretic}}
installation_et_utilisation_de_container_lxc.1638460560.txt.gz · Dernière modification : 2021/12/02 15:56 de Benjamin Labomedia