web-dev-qa-db-ja.com

Vagrantは、.boxファイルをどこにダウンロードしますか?

次のコマンドを実行した後、.boxファイルはどうなりますか?

vagrant box add lucid32 http://files.vagrantup.com/lucid32.box

ダウンロードが完了した後、ファイルシステム上にlucid32.boxファイルが見つかりません。

249
Calvin Cheng

ドキュメント で説明したように、ボックスは次の場所に格納されています。

  • Mac OS XとLinux:~/.vagrant.d/boxes
  • Windows:C:/Users/USERNAME/.vagrant.d/boxes
370
manojlds

Mac/Linuxシステムでは、正常にダウンロードされたボックスは次の場所にあります。

~/.vagrant.d/boxes

そして失敗したボックスは次の場所にあります。

~/.vagrant.d/tmp

Windowsシステムでは、これはUsersフォルダの下にあります。

C:\Users\%userprofile%\.vagrant.d\boxes

これが役立つことを願っています。ありがとう

69
Arbab Nazar

パスを変更するには、新しいパスをVAGRANT_HOMEという名前の環境変数に設定します。

export VAGRANT_HOME=my/new/path/goes/here/

あなたがそれらのvagrant-Imagesを別のHDDに持ちたいならば、それは多分いいですね。

ここにドキュメントでより多くの情報: http://docs.vagrantup.com/v2/other/environmental-variables.html

44
suther

ダウンロードとボックスのインストールが完了すると、実際の.boxファイルはVagrantによって削除されます。他の回答で述べたように、ダウンロード中、.boxファイルは次のように保存されます。

~/.vagrant.d/tmp/boxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

ファイル名は 'box'で、その後に40バイトの16進数のハッシュが続きます。たとえば、私のシステム上の一時ファイルは次のとおりです。

~/.vagrant.d/tmp/boxc74a85fe4af3197a744851517c6af4d4959db77f

私が言うことができる限り、このファイルは*.box拡張子で決して保存されません。実際のボックスファイルを取得する方法は2つあります。

  1. vagrantcloud.comから.boxファイルをダウンロードしてください

    1. 興味のあるボックスを探してください アトラス 。たとえば、 https://atlas.hashicorp.com/ubuntu/boxes/trusty64/versions/20150530.0.1 です。
    2. ドメイン名をvagrantcloud.comに置き換えます。だから https://atlas.hashicorp.com/ubuntu/boxes/trusty64/versions/20150530.0.1 になります https://vagrantcloud.com/ubuntu/boxes/trusty64/versions/ 20150530.0.1/provider/virtualbox.box
    3. そのURLの最後に/providers/virtualbox.boxを追加します。つまり、 https://vagrantcloud.com/ubuntu/boxes/trusty64/versions/20150530.0.1https://vagrantcloud.com/ubuntu/boxes/trusty64/versions/20150530.0)になります。 1/provider/virtualbox.box
    4. .boxファイルを保存します
    5. たとえば、自分でホストし、config.vm.box_urlをそのURLに指定するなど、必要に応じて.boxを使用します。 または
  2. Vagrantから直接.boxを入手してください

    これは、ダウンロード成功後にVagrantがボックスを削除しないようにRubyのソースを修正する必要があります。

    1. Vagrantインストールディレクトリでbox_add.rbファイルを見つけます。私のシステムでは/Applications/Vagrant/embedded/gems/gems/vagrant-1.5.2/lib/vagrant/action/builtin/box_add.rbにあります。
    2. Box_add関数を見つけます。 box_add関数の中には、というブロックがあります。

      #一時ファイルを追加した後は、そのファイルを削除したことを確認します。#中断された場合は除きます。その場合は、#ダウンロードを再開できるようにします。 if!@download_interrupted @ logger.debug( "一時ボックスの削除:#{box_url}")begin box_url.deleteもしbox_urlが救済すればErrno :: ENOENT#実際には存在しないかもしれません。

    3. このブロックをコメントアウトしてください。
    4. vagrant add box <boxname>を使用して別のボックスを追加してください。
    5. ダウンロードするのを待ちます。 ~/.vagrant.d/tmp/ディレクトリにboxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXファイルとして保存されているのを見ることができます。
    6. ファイルをもっと便利な名前に変更してください。例えば、mv boxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX trusty64.boxです。

なぜあなたはこれを望みますか?

私にとっては、 HashiCorpのAtlasボックスカタログ または 別のボックスプロバイダ からダウンロードするのではなく、ローカルの高速インフラストラクチャでホストできるように.boxファイルを取得するのに役立ちました。 。

それは非常に決定的なユースケースを持っているので、これは本当にデフォルトのVagrant機能の一部であるべきです。

20
Luke Peterson

@Luke Peterson:.boxファイルを入手するためのもっと簡単な方法があります。

https://atlas.hashicorp.com/boxes/search にアクセスして、ダウンロードしたいボックスを検索してください。ボックスのURLに注意してください。

https://atlas.hashicorp.com/ubuntu/boxes/trusty64/versions/20150530.0.1

それから、あなたはこのようなURLを使ってこの箱をダウンロードすることができます:

https://vagrantcloud.com/ubuntu/boxes/trusty64/versions/20150530.0.1/providers/virtualbox.box

私は必要なすべてのボックスを試してダウンロードしました。お役に立てば幸いです。

13
Hiep Ho

Windowsでは、場所はここにあります。私はこのためのインターネット上のドキュメントを見つけられませんでした、そしてこれは私にとってすぐに明白ではありませんでした:

C:\Users\\{username}\\.vagrant.d\boxes

6
Mark Liu

Windows 10Vagrant 2.2.2、環境変数VAGRANT_HOMEの設定ボックスはVAGRANT_HOMEに指定されたフォルダのサブフォルダにダウンロードされます。

私の場合はVAGRANT_HOMEe:\vagrant_homeに設定しています、そしてボックスはe:\vagrant_home\boxesの下に格納されます。

これは私のために働きます。

それがboxが格納されている場所です。 仮想マシンはVirtual Boxで設定されたフォルダに作成されています。 VirtualBox VMストレージフォルダを設定するには、VirtualBox GUI --> File --> Preferences --> General --> Default Machine Folderに移動します。

0
user577736

に加えて

Mac:
~/.vagrant.d/

Windows:
C:\Users\%userprofile%\.vagrant.d\boxes

あなたはクリーンスタートをするためにVirtualBox/OtherVMproviderの中のファイルを削除しなければなりません。

0
Punnerud