Данная инструкция полезна для обновления LXC на Ubuntu. По умолчанию в Ubuntu 18.04 стоит версия 3.0.3. Ее можно обновить до 4.0.4 согласно инструкции ниже.

Удалите верию LXC, если она была установлена:

_x000D_aptitude purge lxc lxc-utils lxcfs liblxc-common_x000D_systemctl unmask lxcfs_x000D_systemctl unmask lxc-net_x000D_systemctl unmask lxc

Установите программы:

_x000D_aptitude install uidmap checkinstall_x000D_

Скачайте файл

_x000D_wget https://github.com/lxc/lxc/archive/lxc-4.0.4.zip

Разархивируйте файл

_x000D_unzip lxc-4.0.4.zip

Перейдите в папку

_x000D_mv lxc-lxc-4.0.4 lxc-4.0.4_x000D_cd lxc-4.0.4

Сконфигурируйте проект

_x000D_./autogen.sh_x000D__x000D_./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var_x000D_

Запустите компиляцию

_x000D_make

Создайте deb пакет

_x000D_sudo checkinstall

Установите deb пакет

_x000D_dpkg -i lxc_4.0.4-1_amd64.deb

Создайте файл /etc/default/lxc-net с содержимым:

_x000D_USE_LXC_BRIDGE="true"_x000D_LXC_BRIDGE="lxcbr0"_x000D_LXC_ADDR="10.0.3.1"_x000D_LXC_NETMASK="255.255.255.0"_x000D_LXC_NETWORK="10.0.3.0/24"_x000D_LXC_DHCP_RANGE="10.0.3.2,10.0.3.254"_x000D_LXC_DHCP_MAX="253"_x000D_#LXC_DHCP_CONFILE=/etc/lxc/dnsmasq.conf_x000D_#LXC_DOMAIN="lxc"

А также файл /etc/lxc/default.conf с содержимым:

_x000D_lxc.net.0.type = veth_x000D_lxc.net.0.link = lxcbr0_x000D_lxc.net.0.flags = up_x000D_lxc.net.0.hwaddr = 00:16:3e:xx:xx:xx_x000D_lxc.idmap = u 0 100000 65536_x000D_lxc.idmap = g 0 100000 65536

Сделайте UID и GID Mapping

nano /etc/subuid

_x000D_lxc:100000:65536_x000D_lxd:100000:65536_x000D_root:100000:65536

nano /etc/subgid

_x000D_lxc:100000:65536_x000D_lxd:100000:65536_x000D_root:100000:65536

Для удобства вы можете добавить пользователя lxc-root, чтобы в htop видеть процессы запущенные в lxc

_x000D_groupadd -r --gid 100000 lxc-root_x000D_useradd -r -M --uid 100000 -g lxc-root lxc-root

Установите права доступа, чтобы корректно запускались контейнеры:

_x000D_chown lxc-root:root /var/lib/lxc_x000D_chmod 755 /var/lib/lxc