LXDをインストールしてコンテナを立ち上げます。
Table of Contents
1 AppArmorを無効にする
AppArmorをインストールして、カーネルパラメータにapparmor=1 security=apparmorを設定していると、snapdのインストールが失敗します。
$ sudo snap install --beta core error: cannot perform the following tasks: - Setup snap "core" (2271) security profiles (cannot setup seccomp for snap "core": fork/exec /usr/lib/snapd/snap-seccomp: no such file or directory) - Setup snap "core" (2271) security profiles (fork/exec /usr/lib/snapd/snap-seccomp: no such file or directory)
先にLXDをインストールしてからAppArmorをインストールしても、lxcが実行できません。snapd向けのプロファイルを無効にしても実行できません。
$ lxc snap-confine has elevated permissions and is not confined but should be. Refusing to continue to avoid permission escalation attacks.
カーネルパラメータからapparmor=1 security=apparmorを削除してAppArmorを無効にするしかないようです。
2 LXDをインストールする
以下のスクリプトはsnapdでlxdをインストールします。
#!/bin/sh set -e sudo apt install -y snapd sudo systemctl enable snapd sudo systemctl restart snapd # INFO snap "core" has bad plugs or slots: core-support-plug (unknown interface) # https://forum.snapcraft.io/t/tests-broken-in-master/457/4 sudo snap install core # --beta is not need on 2017/7/17. sudo snap install lxd # Add /snap/bin path to secure_path. sudo sed -e 's;secure_path="\(.*\)";secure_path=\1:/snap/bin;g' \ -i /etc/sudoers # Initialize LXD with NAT network. sudo lxd waitready cat <<EOF | sudo lxd init yes default dir no yes yes lxdbr0 auto auto EOF # Add lxd group. sudo addgroup --system lxd sudo gpasswd -a "${USER}" lxd # Reboot for updating group. sudo reboot
3 コンテナを立ち上げる
debian/stretchのイメージをダウンロードして立ち上げることができました。IPアドレスが割り振られています。
$ lxc launch images:debian/stretch debian <snip> $ lxc exec debian ip a s 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 4: eth0@if5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 00:16:3e:3a:14:6f brd ff:ff:ff:ff:ff:ff link-netnsid 0 inet 10.99.166.142/24 brd 10.99.166.255 scope global eth0 valid_lft forever preferred_lft forever inet6 fd42:b1fe:730e:5b1d:216:3eff:fe3a:146f/64 scope global mngtmpaddr dynamic valid_lft 3593sec preferred_lft 3593sec inet6 fe80::216:3eff:fe3a:146f/64 scope link valid_lft forever preferred_lft foreve