VagrantでUbuntu 18.04 LTSとLXDをインストールする手順

はじめに

私自身は職場でも自宅でも Ubuntu MATE 18.04 LTS を使っていてVagrantはもう使っていません。 ですが職場の同僚が macOS を使っていてLXDの環境をセットアップするのに少々手間どったのでメモしておきます。

VirtualBoxとVagrantはインストール済みという前提で、それ以降の手順です。

Ubuntu 18.04 LTSのボックス追加

Vagrant box ubuntu/bionic64 - Vagrant Cloud にUbuntu 18.04 LTSのボックスがあったので、これを使いました。

が、Vagrantのバージョンが1.9.6と古いせいか (2018-07-05時点での最新版は2.1.2)、上記のページのようにVagrantfileを作成して vagrant up を実行しても404 Not Foundのエラーが出てしまいました。

作成済みのVMであれば vagrant box の 404 エラーに対処した - @znz blog の手順で対応可能なようですが、新規にVMを作成する場合はどうすれば良いのかと、さらに検索してみると How to Download Vagrant Box Manually というページを見つけました。

これを参考にして Vagrant box ubuntu/bionic64 - Vagrant Cloud のこの記事執筆時点での最新版は v20180630.0.0 だったので以下のようにしてボックスのイメージをダウンロードしました。

curl -Lo ubuntu-18.04.box https://app.vagrantup.com/ubuntu/boxes/bionic64/versions/20180630.0.0/providers/virtualbox.box

後は以下のようにしてボックスを登録します。

vagrant box add ubuntu/bionic64 ubuntu-18.04.box

これで無事 vagrant up でVMが作れるようになりました。

LXDのセットアップ

以下の手順は vagrant ssh してVMにログインした状態で実行してください。

Snap パッケージ (ArchLinux, Debian, Fedora, OpenSUSE, Ubuntu) の手順でsnapパッケージのLXDをインストールします。

sudo snap install lxd

初期設定 の手順でLXDの初期化を行います。

sudo lxd init

いくつか質問されますが、ほぼデフォルトで良いです。ストレージエンジンは開発環境なのでシンプルな構成で十分ということで dir にしました。

アクセスコントール の説明に従って、今のユーザ vagrantlxd グループに追加します。

sudo usermod -a -G lxd $USER

exit で一旦 VM から抜けて、再度 vagrant ssh でVMに入ればlxdが使える状態になります。

以下のコマンドを実行してコンテナ一覧を表示し、空の一覧が表示されればOKです。

lxc list