質問: よろしくお願いします 環境:Vagrant 2.0.3、Windows10x64 ***Vagrantをvagrant cloudを使わずに(オフラインで)利用したい** ネット環境が使える場所なら良いのですが、例えば常駐先や出向先では開発環境で ネットに繋げられないケースがあります。(正しくは許可以外のサイトには禁止) そういった場合でもvagrantを使って環境構築したい、というのが主旨です。 いくつか参考になるっぽいサイト記事は見つけたのですが、私の環境では 同じことが出来ず滞っています。 私としては糸口をつかみたく、ご教授いただけると幸いです。
回答: VagrantをvirtualBoxで使用する前提で回答します。 * ネットワークアクセス可能な別マシンで該当のboxファイルを`vagrant box add`で取得します。 ``` D:\workspace>vagrant box add ubuntu/xenial64 ==> box: Loading metadata for box 'ubuntu/xenial64' box: URL: https://vagrantcloud.com/ubuntu/xenial64 ==> box: Adding box 'ubuntu/xenial64' (v20180413.0.0) for provider: virtualbox box: Downloading: https://vagrantcloud.com/ubuntu/boxes/xenial64/versions/20180413.0.0/providers/virtualbox.box ``` 上記の `box: Downloading: https://...`が表示されたらCtrl+Cで中断します。 * 表示されたURLにアクセスして boxファイルをダウンロードします * ダウンロードしたboxファイルをCDやUSBメモリに入れて、作業マシンにコピーします。 * 作業マシンでダウンロードしたboxファイルを`vagrant box add`で追加します。 ``` vagrant box add --name ubuntu/xenial xenial-server-cloudimg-amd64-vagrant.box ==> box: Box file was not detected as metadata. Adding it directly... ==> box: Adding box 'ubuntu/xenial' (v0) for provider: box: Unpacking necessary files from: file://D:/xenial-server-cloudimg-amd64-vagrant.box box: Progress: 100% (Rate: 265M/s, Estimated time remaining: 0:00:01) ==> box: Successfully added box 'ubuntu/xenial' (v0) for 'virtualbox'! ``` * 作業マシンで追加したboxが使用できるようになります。 ``` vagrant box list ubuntu/xenial (virtualbox, 0) ``` 開発環境として使用するとき `yum` や `apt` の使用が作業PCでできるのであればこの方法でよいかと思いますが、できないのであれば、各OSのインストール用ISOファイルから開発環境をインストールしたオリジナルのboxファイルを作成し、それを作業マシンに`vagrant box add`すればよいと思います。またこの方法は大量の作業マシンに追加する場合も有効です。 オリジナルのboxファイルを作成する方法は、`Packer`を使った下記の方法が参考になります。 `Packer`は`Vagrant`と同じhashicorp社のプロダクトです。 * Windows 7環境、PackerでVagrant Box作成 * Packer+Vagrant+Virtualboxを使ってCentOS7環境を構築 * Packerをつかって3ステップでVagrantのBoxを作る