Vagrantで作った環境を丸っとコピー(BOXファイルの作り方)

広告

Vagrantを使用すると、Boxというイメージと構成情報を記述した設定ファイルを元に、仮想環境の構築から設定までを自動化することもできます。
これで環境の使いまわしや再構築も楽ちんなのですが、さらにこれをチーム内に共有したりする際にはBOXファイルを丸っとコピーしてシェアしちゃいましょう!
Boxのコピーはデータも設定ファイル丸っとコピーできちゃうので個人作業でもめっちゃ重宝してます(^^♪





BOXの生成


コピーしたいVagrantファイルがあるディレクトリで以下実行するだけ!
$ vagrant package [vm名] --output [名前.box]

[vm名]はvagrant statusで確認できます。
$ vagrant status
==> vagrant: A new version of Vagrant is available: 2.2.5 (installed version: 2.2.3)!
==> vagrant: To upgrade visit: https://www.vagrantup.com/downloads.html

Current machine states:

// ↓これ
default running (virtualbox)

The VM is running. To stop this VM, you can run `vagrant halt` to
shut it down forcefully, or you can run `vagrant suspend` to simply
suspend the virtual machine. In either case, to restart it again,
simply run `vagrant up`.

これら踏まえた上での実際のコマンドは以下のとおりです。
$ vagrant package default --output my.box
==> default: Attempting graceful shutdown of VM...
==> default: Clearing any previously set forwarded ports...
==> default: Exporting VM...
==> default: Compressing package to: C:/MyProijects/LocalEnv/vagrant-100/my.box

ディレクトリ"C:/MyProijects/LocalEnv/vagrant-100"にmy.boxが生成されました!


BOXの使い方


まずは適当な場所にフォルダを作成します。自分は"vagrant"フォルダを作成
また、BOXファイルを任意のディレクトリに配置します。今回はとりあえずvagrantフォルダは以下に配置しました。

プロンプトで作成したフォルダ配下に移動
$ cd C:/MyProijects/LocalEnv/vagrant

次にVagrantの初期化をします(Vagrantファイルの生成)
$ vagrant init
以下のようにVagrantファイルが生成されるはず



Vagrantファイルの以下箇所を編集
***
# 仮想環境にアクセスする際のローカルIPの指定
config.vm.network "private_network", ip: "192.168.33.100"
***

***
# BOXファイルの指定 ※BOXファイルを設置した場所
config.vm.box = "./my.box"
***

あとは、、、vagrant upするだけ!
$ vagrant up


これでかなり開発環境構築の手間、時間が削減できました( ^^) _U~~

広告

Profile