LXC debian 8: различия между версиями

Материал из support.qbpro.ru
imported>Supportadmin
Нет описания правки
imported>Supportadmin
Нет описания правки
Строка 122: Строка 122:


</nowiki>
</nowiki>
10. Изначально контейнер пустой. Даже ping отсутствует.
apt-get update
apt-get install aptitude mc ssh iputils-ping iptables cron wget

Версия от 10:28, 7 марта 2016

Источник

1. В /etc/default/grub изменить параметр

GRUB_CMDLINE_LINUX="cgroup_enable=memory"

Хотя официально [1] сказано, что делать ничего не надо.

2. В /etc/sysctl.conf [2]

net.ipv4.ip_forward=1
net.ipv4.conf.all.forwarding=1
net.ipv4.conf.all.proxy_arp=1

3. grub_updare, reboot

4. В /etc/network/interfaces

#allow-hotplug eth0
#auto eth0
#iface eth0 inet static


auto br0
iface br0 inet static
      address 192.168.150.30
      netmask 255.255.255.0
      network 192.168.150.0
      broadcast 192.168.150.255
      gateway 192.168.150.1
      dns-nameservers 192.168.150.1
      bridge_ports eth0
      bridge_fd 0
      bridge_maxwait 0

5. Создаем контейнер [3]

lxc-create -t debian -n nodejs

6. Сразу меняем пароль root на свой.

старт в режиме консоли (не очень удобно, точнее вообще неудобно)

lxc-start -n nodejs

или старт в режиме демона и присоединяется к консоли контейнера, для выхода из консоли exit

lxc-start -dn nodejs
lxc-attach -n nodejs

7. Конфигурируем контейнер /var/lib/lxc/nodejs/config. Обязательно обратить внимание на lxc.network.veth.pair [4] - это имя интерфейса в хост машине. Здесь про это не сказано, и работать с сетью сможет только один контейнер.


lxc.rootfs = /var/lib/lxc/nodejs/rootfs
lxc.include = /usr/share/lxc/config/debian.common.conf
lxc.mount = /var/lib/lxc/nodejs/fstab
lxc.utsname = nodejs
lxc.arch = amd64
lxc.autodev = 1
lxc.kmsg = 0

#Количество /dev/tty
lxc.tty = 6

# Autostart
lxc.start.auto = 1
lxc.start.delay = 5
lxc.start.order = 100

# eth0

lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br0
lxc.network.veth.pair= br0-2
lxc.network.name = eth0
lxc.network.hwaddr = 00:11:12:00:88:99

#mount папка на хост машине            папка в контейнере, относительно хост машины
#lxc.mount.entry =  /home/debs  /var/lib/lxc/nodejs/rootfs/home/debs none bind 0 0

8. Настраиваем сеть не через конфигурацию, а в контейнере (можно и так, и так) /var/lib/lxc/nodejs/rootfs/etc/network/interfaces

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interfac

allow-hotplug eth0
auto eth0
iface eth0 inet static
      address 192.168.150.33
      netmask 255.255.255.0
      network 192.168.150.0
      broadcast 192.168.150.255
      gateway 192.168.150.1
      dns-nameservers 192.168.150.1

9. Правим /var/lib/lxc/nodejs/rootfs/etc/apt/sources.list

deb http://mirror.mephi.ru/debian/ jessie main
deb-src http://mirror.mephi.ru/debian/ jessie main

deb http://security.debian.org/ jessie/updates main contrib
deb-src http://security.debian.org/ jessie/updates main contrib

# jessie-updates, previously known as 'volatile'
deb http://mirror.mephi.ru/debian/ jessie-updates main contrib
deb-src http://mirror.mephi.ru/debian/ jessie-updates main contrib

deb http://ftp.ru.debian.org/debian/ jessie main contrib non-free
deb http://http.debian.net/debian jessie-backports main contrib non-free

#deb http://www.deb-multimedia.org jessie main non-free
#deb http://www.deb-multimedia.org jessie-backports main


10. Изначально контейнер пустой. Даже ping отсутствует. apt-get update apt-get install aptitude mc ssh iputils-ping iptables cron wget