Vagrant の Box の基本操作(追加・更新・削除・一覧)を覚えよう

投稿者 : OSCA

関東地方の美しい夜景を観にいこう。 夜景サイト「夜景散歩」で夜景スポットを検索

概要

 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 の基本操作について解説しました。

Vagrant入門へ戻る

著者 : OSCA

OSCA

Java, PHP 系のWEBエンジニア。 WEBエンジニア向けコミュニティ「WEBエンジニア勉強会」を主催。
個人として何か一つでも世の中の多くの人に使ってもらえるものを作ろうと日々奮闘中。
@engineer_osca