LXD je nadstavba nad LXC, umí vytvářet unprivileged kontejnery. Tedy chceme používat LXD. Vytvořit ZFS dataset: zfs create -o compression=on tank/lxc apt-get install lxc lxd lxd init # lxd init Name of the storage backend to use (dir or zfs) [default=zfs]: Create a new ZFS pool (yes/no) [default=yes]? no Name of the existing ZFS pool or dataset: tank/lxc Would you like LXD to be available over the network (yes/no) [default=no]? yes Address to bind LXD to (not including port) [default=all]: Port to bind LXD to [default=8443]: Trust password for new clients: Again: Would you like stale cached images to be updated automatically (yes/no) [default=yes]? Would you like to create a new network bridge (yes/no) [default=yes]? no LXD has been successfully configured. Upravit profil sudo update-alternatives --config editor lxc profile show default Pozor, jména nesmí mít tečky - viz https://github.com/lxc/lxd/issues/1431 lxc launch ubuntu-daily:16.10 container01 lxc launch images:debian/stretch/amd64 suiteAppLxc -c limits.memory=16GB -c limits.memory.swap=false Do konzole: lxc exec container01 bash lxc exec container01 -- /bin/bash V Debian kontejneru pak: apt install ssh Kdyby se něco nepovedlo, lze vše odinstalovat a začít znovu: apt remove --purge lxc lxd Přehled parametrů: https://github.com/lxc/lxd/blob/master/doc/configuration.md lxc config set container01 limits.cpu 4 lxc config set container01 limits.cpu.priority 8 lxc config set container01 limits.disk.priority 10 lxc config set container01 limits.memory 16GB Statická IP - v kontejneru: echo 'network: {config: disabled}' > /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg Nastavit v /etc/network/interfaces.d/50-cloud-init.cfg normálně adduser david adduser david sudo deluser ubuntu
sed -i 's/lxc.network.link = lxcbr0/lxc.network.link = br0/' /etc/lxc/default.conf
vi /etc/default/lxc-net
USE_LXC_BRIDGE="false"
a zakomentovat ostatní nastavení sítě.
vi /etc/default/lxc
autostart globální nastavení
Další příkazy:
ls /usr/share/lxc/templates/ lxc-create -n <container-name-without-lxc-prefix> -t <template> lxc-create -t ubuntu -n cont.cesal.cz -B zfs --zfsroot=tank/lxc
lxc-ls --fancy lxc-destroy -n cont.cesal.cz lxc-start -n cont.cesal.cz lxc-shutdown -n cont.cesal.cz lxc-stop -n cont.cesal.cz lxc-checkconfig lxc-info -n cont.cesal.cz
Autostart
buď globální všechny kontejnery, nebo: lxc-autostart --help