Help us understand the problem. What is going on with this article?

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」オプションがない場合、このコマンドは効果がない。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away