Комментарии 10
он в самом начале во введении "Отличия от Docker"
Хотя судя по тому что в конце пошли команды непосредственно lxc отличий будет очень мало.
LXC и LXD немного разные вещи. LXC — низкоуровневый API по работе с контейнерами, LXD — высокоуровневый.
В документации сказано "LXD использует LXC через liblxc и прослойку, написанную на Go для создания и управления контейнерами."
Я использую и то и то в своей работе, и скажу, имхо, LXD куда удобнее администрировать и переносить в образах между хостами чем LXC.
В Canonical хорошо поработали над LXD. Хотя есть над чем работать еще, например, сделать веб интерфейс для LXD.
Жду когда появится на Debian.
В общем-то я уже сам делал пакетик, но не охота заморачиваться с его поддержкой.
https://youtu.be/90oxad2r8_E
Пока тестировал LXD, столкнулся со следующими моментами:
1) Если у вас несколько серверов, то важно чтобы subuid совпадали.
Если они будут разными то при восстановлении файлов из образов и бэкапов могут возникнуть трудности с uid/gid.
Проверить их можно в следующих файлах:
$ less /etc/subuid
lxd:100000:65536
root:100000:65536
$ less /etc/subgid
lxd:100000:65536
root:100000:65536
2) Иногда сразу не запускается lxdbr0. Причин я нашел две:
а) named слушает порт 53 на интерфейсе 0.0.0.0 и не дает dnsmasq его слушать. Исправляется следующим образом:
В файле /etc/bind/named.conf.options
прописать:
listen-on { 127.0.0.1; };
listen-on-v6 { none; };
б) Бывает случай когда дефолтный dnsmasq слушает этот порт. lxd зачем-то запускает свой dnsmasq, вместо того, чтобы
использовать дефолтный. Нужно dnsmasq по умолчанию перевешать на другой порт.
В файле /etc/dnsmasq.conf
нужно прописать:
port=5353
В файле /etc/default/dnsmasq
поменять флаг запуска:
ENABLED=0
3) Образ centos6 amd64 из официального репозитория немного косячные. Иногда статический ip не прописывается контейнеру.
Вот фикс: https://gist.github.com/vistoyn/75fd36c577b393dcc073a295f869232d
Пошаговая инструкция настройки LXD на Ubuntu 16.04