#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」オプションがない場合、このコマンドは効果がない。