概要
Box は別稿「Box と プロバイダー(Provider)」で概要を説明した通り、仮想マシンのベースとなるものです。 Box を元にして仮想マシンが作成されます。 Box は様々なOSのものが Vagrant Cloud のサイトで公開されており、ここから利用したいものをローカルの Vagrant に追加して利用します。 ここからは、Box の追加・更新・削除などの基本操作について解説します。
Boxの追加
Box を Vagrant に追加するには、vagrant box add コマンドを利用します。 コマンドの引数として Box の名前、もしくは Box の URL を指定します。 古いバージョンの Vagrant では URL を指定していましたが、今は Box の名前を指定できるようになったので名前を指定するのが一般的です。 例えば Ubuntu の xenial64 を利用したい場合は次のようにコマンドを指定します。
$ vagrant box add ubuntu/xenial64
Boxの一覧を表示
ローカルの Vagrant に追加した Box を一覧で確認したい場合には、vagrant box list コマンドを利用します。 次の例のように、ローカルに追加した Box が表示されます。
$ vagrant box list
centos/7 (virtualbox, 1708.01)
coreos-alpha (virtualbox, 1353.1.0)
ubuntu/trusty64 (virtualbox, 20170803.0.0)
ubuntu/xenial64 (virtualbox, 20180122.0.0)
Boxの更新
過去に追加した Box を更新したい場合があります。 例えば過去に何らかの OS の Box をインストールしていたとして、最近になって OS にセキュリティパッチが当てられた最新のバージョンがリリースされている場合などです。 Box の更新は vagrant box update コマンドで行います。
$ vagrant box update
※ vagrant box update コマンドは、作成した仮想環境のフォルダの中で実行します。
Boxの削除
過去に追加した Box が不要になった場合は、Box を削除することができます。 vagrant box remove コマンドに box 名を指定します。
$ vagrant box remove ubuntu/trusty64
また、次の例のように、同一のOSの Box をバージョン違いで保有していて片方だけを削除したい場合があります。
$ vagrant box list
centos/7 (virtualbox, 1708.01)
centos/7 (virtualbox, 1801.02)
このような場合は次の例のようにバージョンを指定します。
$ vagrant box remove centos/7 --box-version 1708.01
Removing box 'centos/7' (v1708.01) with provider 'virtualbox'...
おわりに
本稿では Vagrant の Box の基本操作について解説しました。