mirroir readonly du Gitit wiki.evolix.org (attention, ne rien commiter/merger sur ce dépôt) https://wiki.evolix.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

HowtoLXC.md 2.9 KiB

3 years ago
3 years ago
11 months ago
3 years ago
11 months ago
11 months ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
2 years ago
11 months ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
1 month ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. ---
  2. categories: virtualisation
  3. title: Howto LXC
  4. ...
  5. * Documentation : <https://linuxcontainers.org/lxc/manpages/>
  6. [LXC](https://linuxcontainers.org/lxc/introduction/) est une interface en espace utilisateur pour piloter les fonctionnalités d'isolation du noyau Linux, permettant de créer des containers.
  7. # Installation
  8. ~~~
  9. # apt install lxc bridge-utils debootstrap
  10. ~~~
  11. > Note: Avec Debian Buster, il faut rajouter le paquet lxc-templates
  12. # Mise en place du réseau virtuel
  13. Obligatoire si vous voulez un accès Internet dans vos conteneurs. Une des façons de faire et de monter un bridge qui contiendra tout les conteneurs. Ensuite via iptables, on fera du NAT pour router le réseau privé du bridge via l'interface principale (souvent eth0).
  14. ~~~
  15. # cat /etc/network/interfaces
  16. [...]
  17. auto br0
  18. iface br0 inet static
  19. address 192.0.2.254
  20. netmask 255.255.255.0
  21. ~~~
  22. ~~~
  23. # echo 1 > /proc/sys/net/ipv4/ip_forward
  24. # /sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
  25. ~~~
  26. # Installation d'un container
  27. En choisissant de créer un conteneur avec `-t download`, cela vous permettra via un prompt de choisir quel type de distribution à installer.
  28. ~~~
  29. # lxc-create -t download -n foo
  30. ~~~
  31. On peut directement choisir quel type de distribution on veut.
  32. ~~~
  33. # lxc-create -t debian -n foo
  34. ~~~
  35. ## Déclarer le réseau virtuel dans la configuration du conteneur
  36. Exemple avec la machine `foo`, via le fichier `/var/lib/lxc/foo/config`
  37. ~~~
  38. lxc.network.type = veth
  39. lxc.network.link = br0
  40. lxc.network.ipv4 = 192.0.2.10/24
  41. lxc.network.ipv4.gateway = 192.0.2.254
  42. lxc.network.name = eth0
  43. lxc.network.flags = up
  44. ~~~
  45. Pas de réseau (sauf lo) :
  46. ~~~
  47. lxc.network.type = empty
  48. ~~~
  49. Partage du réseau avec l'hôte
  50. ~~~
  51. lxc.network.type = none
  52. ~~~
  53. # Utilisation basique
  54. Lister les conteneurs :
  55. ~~~
  56. # lxc-ls
  57. foo bar baz
  58. ~~~
  59. On peut obtenir plus de détails avec l'option `--fancy`
  60. ~~~
  61. # lxc-ls --fancy
  62. NAME STATE AUTOSTART GROUPS IPV4 IPV6
  63. foo STOPPED 0 - - -
  64. bar RUNNING 1 - 192.0.2.73 2001:DB8::73
  65. ~~~
  66. Démarrer un conteneur :
  67. ~~~
  68. # lxc-start -n foo -d
  69. ~~~
  70. Entrer dans un conteneur :
  71. ~~~
  72. # lxc-attach -n foo
  73. ~~~
  74. Arrêter un conteneur :
  75. ~~~
  76. # lxc-stop -n foo
  77. ~~~
  78. Autres commandes utiles :
  79. ~~~
  80. # lxc-info -n foo
  81. # lxc-console -n foo
  82. # lxc-halt -n foo
  83. # lxc-destroy -n foo
  84. ~~~
  85. Pour quitter un `lxc-console`. Il faut faire `<Ctrl+a q>`. Il semblerait cependant que cela ne fonctionne pas !
  86. # Divers / FAQ / Diagnostic
  87. ## systemd
  88. Si systemd dans un container pose souci, on peut revenir à sysvinit.
  89. ~~~
  90. # apt install sysvinit-core
  91. ~~~
  92. ## Erreur accès /dev
  93. ~~~
  94. Couldn't open /dev/null: Permission denied
  95. ~~~
  96. C'est parce que /dev est crée en 700 au lieu de 755. Pour fixer :
  97. ~~~
  98. # chmod 755 /dev
  99. ~~~
  100. ## Failed to load config for foo
  101. ~~~
  102. # lxc-ls
  103. Failed to load config for foo
  104. ~~~
  105. Il faut mettre à jour la config :
  106. ~~~
  107. # lxc-update-config -c /var/lib/lxc/foo/config
  108. ~~~