Edited at

Vagrant コマンドラインインターフェース BOX

More than 3 years have passed since last update.


BOX


command: vagrant box

boxを扱うためのコマンド。

サブコマンドには以下がある。

1.add

2.list

3.outdated

4.remove

5.repackage

6.update


1.BOX ADD

書式:


vagrant box add ${ADDRESS}


Vagrantに\${ADDRESS}で指定されたboxを追加する。${ADDRESS}は3つのうちの何れか。


  • 一般に公開されたVagrantのイメージ名。例えば「hashicorp/precise64

  • ファイルのパスやカタログの中のboxへのHTTP URL。HTTPでは基本的な認証はサポートされ、http_proxyの環境変数も効く。HTTPSもサポートされている。

  • boxファイルへの直接のパス。--nameを付ける。バージョンやアップデートは効かない。

ダウンロード中にエラーが発生した場合やCtrl+Cでキャンセルされた場合、Vagrantは次回起動の際にダウンロードを再開する。但し、初回ダウンロードから6時間以上経過すると再開しない


オプション


--box-version ${VALUE}

追加するboxのバージョンを指定。デフォルトだと最新のバージョンとなる。
「1.2.3」のような具体的なバージョンもしくは「>= 1.0, < 2.0」のような条件指定でもOK。

--cacert ${CERTFILE}

ピア証明用CAの認証。リモート側が標準のルートCAを使わない場合に使用。

--capath ${CERTDIR}

ピア証明用CAの認証DIR。リモート側が標準のルートCAを使わない場合に使用。

--cert ${CERTFILE}

boxダウンロード時に使うクライアント証明書(必要時のみ)

--clean

同じURLで以前のダウンロードで作られたテンポラリのファイルを削除する。コンテンツが変わった等でVagrantに前回のダウンロードを再開して欲しくないときに使う。

--force

ダウンロードされたboxで同名の既存のboxを上書く。

--insecure

URLがHTTPSの時にSSL認証をチェックしない。

--provider ${PROVIDER}

追加されるboxが${PROVIDER}で指定されたものかをチェックする。デフォルトでは自動的に適切なプロバイダを検知する。


ダイレクトアクセス時のオプション

カタログを使わず直接boxファイルを指定した時のオプション。


--checksum ${VALUE}

boxファイルのchecksumがダウンロードされる。
Vagrantは実際にダウンロードされたファイルとchecksumとを比較し、マッチしなければエラーを表示。
boxファイルは大きいのでこのオプションは特に推奨される。checksum指定時は「--checksum-type」の指定が必須。
カタログからダウンロード時はchecksumは含まれている。

--checksum-type ${TYPE}

「 --checksum」指定時のchecksumの種類。現在「md5」「sha1」「sha256」がサポートされている。

--name ${VALUE}

boxの論理名。Vagrantfileの「config.vm.box」に入る値を指定する。カタログから追加時は既にカタログに入っている為
指定する必要がない。


2.BOX LIST

書式:


vagrant box list


Vagrantにインストールされたboxを一覧表示する。


3.BOX OUTDATED

書式:


vagrant box outdated


Vagrantにあるboxが古くないかを確認。

--global」オプションを付加することでVagrantにインストールされた全てのboxに対し、アップデートがないかをチェックする。

boxにアップデートがないかをチェックする際は、それに関連するメタデータをリフレッシュする必要がある。

一般的にインターネット接続が必要である。


オプション


--global

現在のVagrant環境にあるboxだけでなく、インストールされた全boxのアップデート有無をチェックする。


4.BOX REMOVE

書式:


vagrant box remove ${NAME}


${NAME}に指定されたboxをVagrantから削除する。

対象のboxが複数のプロバイダを持つ場合、「--provider」オプションで該当するプロバイダを指定しないといけない。

また複数のバージョンのboxがある場合は、「--box-version」で該当するバージョンを指定するか、「--all」により全てのバージョンを削除することが可能。


オプション


--box-version ${VALUE}

${VALUE}でバージョン指定したboxを削除。詳細は、BOX ADDの同名のオプションの説明に記載。

--all

${NAME}で指定したboxの全てのバージョンを削除。

--force

アクティブなVagrant環境にて使用中のboxを強制的に削除。

--provider ${VALUE}

${VALUE}で指定したプロバイダのboxを削除。複数のプロバイダを持つbox削除時に必要となる。プロバイダが1つの場合は自動的にVagrantがそのプロバイダのboxを削除する。


5.BOX REPACKAGE

書式:


vagrant box repackage ${NAME} ${PROVIDER} ${VERSION}


指定されたboxを再パッケージ化し、再配布可能なようにカレントディレクトリに配置する。${NAME}(名前)、${PROVIDER}(プロバイダ)、${VERSION}(バージョン)情報は「vagrant box list」で取得可能。

box追加の際、Vagrantがパッケージを展開し、内部に保存する。元の*.boxファイルは保存されない。このコマンドはインストールされたVagrant boxから*.boxファイルを再利用する際に便利。


6.BOX UPDATE

書式:


vagrant box update


現在のVagrant環境にあるboxのアップデートが利用可能な場合にアップデートする。「--box」オプションで(アクティブなVagrant環境外の)boxを指定した場合、そのboxを更新する。

実行中のVagrantマシンにあるboxのアップデートはできない。boxの中の変更を反映するには、Vagrantを再起動する必要がある。

アップデート有無の確認のみを行う場合、「vagrant box outdated」を使用すること。


オプション




--box ${VALUE}



指定したboxをアップデート。このオプションがない場合、VagrantはアクティブなVagrantのboxを更新する。




--provider ${VALUE}



--box」と同時に使用する際、プロバイダ指定でboxを更新する。複数のプロバイダを持つbox更新時に必要となる。「--box」オプションがない場合、このコマンドは効果がない。