VagrantのBOXを「複製&配布して他人と共有する」方法
2017/01/12
- Macに『Vagrant + VirtualBox』を導入する手順
- Windowsローカル開発環境を『Vagrant + VirtualBox』で作ってみよう
- Vagrantを使ってみよう!Boxの取得から起動・停止・削除まで
- 『Vagrant Cloud』を利用してVagrantのBoxを追加してみよう
- Vagrantで仮想マシンに接続&Webサーバを立ち上げてみよう
- Vagrantで作成した環境を「コピー&配布して他人と共有する」方法 <- 本記事
- 『Vagrant+VCCW』でWordPressローカル環境を構築してみよう
- 本番環境のWordPressサイトを『VCCW+WordMove』でローカルと同期!
こんにちは、okutani(@okutani_t)です。Vagrantで作った環境(Box)を丸々コピーして渡すことがあったので、メモがてら記事にしておきます。
作業をおこなった環境をかんたんに説明すると、Windows7上にあるVagrant管理の「CentOS7 + nginx, PHP, PHP-FPM」が入った仮想環境です。MacやLinuxでも同じ手順でおこなえるかと思います。
開発メンバーで同じ環境を使いたい場合は、とっても便利に使えるかと思いますので、ぜひ参考にしてください。
デザイナーやフロントエンドエンジニアでも、Vagrant環境さえあれば、難しいこと抜きにして理想の環境をすぐに構築することができますね。
ただし、場合によってはわざわざコピーして使うより、ChefやAnsibleなどのプロビジョニングツールを使った方がいい場合もあります。Ansibleの使い方は以前記事にしているので、本記事と一緒に参考にしてください。
そこまで難しいことではないので、さくさくっと見ていきましょう!
スポンサーリンク
Vagrantで作成した環境をコピーする
かんたんなコマンドをぽちぽちすれば、現在利用している環境を元に、新しくBoxを作ることができます。
現在の環境をコピーして新しくBoxを作るには、次のコマンドを利用します。
$ vagrant package
いつもvagrant upしている場所で上記コマンドを実行しましょう。
すると、「package.box」というファイルが作成されます。今回の環境では、ファイル容量は約1GBぐらいでした。
もし、.boxファイルの名前を指定したい場合は、次のようにBoxを作成します。
$ vagrant package [vm名] --output [名前.box]
vm名は「$ vagrant status」で確認できます。デフォルトでは「default」です。
今回、CentOS7の開発環境だったので、centos7dev.boxという名前にしてみました。プロジェクト名で作成してもOKかと思います。ここらへんはお好みで。
実際のコマンドは以下のとおりです。
$ vagrant package default --output centos7dev.box
生成されたファイルをUSBメモリなり、Dropboxなりで相手に渡せばOKですね。なんなくコピーできました!
.boxを配布したあとの手順(インストール方法)
生成した.boxファイルを相手に渡して、利用できるようにするには下記の手順をおこないます。
まずは、次のコマンドで.boxファイルをaddしましょう。
配布した.boxファイルが直下にある場合は以下のとおりです。もしくは、.boxファイルまでのパスを指定してもOK。
$ vagrant box add centos7dev centos7dev.box
きちんと追加できたか確認。
$ vagrant box list
boxが追加できていれば、次のコマンドでBoxを利用できる状態にします。
$ vagrant init centos7dev
実行したディレクトリにVagrantfileが作成されていればOKです。あとは、お馴染みのvagrant upをすれば立ち上がります。
$ vagrant up
これで、Vagrantの環境をコピー&配布して利用することができました!
Vagrantfileの管理方法
上記の方法で、無事にboxをコピーして共有することができたかと思います。
ただし、「Vagrantfileの中身は現環境から引き継がれない」ので、新しく設定項目を追記しなおす必要があります。
「配布用にVagrantfileを作成して.boxファイルとまとめて渡す」でもいいかもしれません。
BoxファイルとVagrantファイルは別々で管理する必要がある、ということに気をつけましょう。
まとめ
「$ vagrant package」コマンドを使うことで、VagrantのBoxをコピーすることができました。
また、Vagrant CloudというBox共有サイトを使うことで、作成したBoxの共有をよりスムーズにすることができます。
もし時間があれば、Vagrant Cloudへのアップ方法も別途記事にしたいと思います。そのときは、稚拙ながら自分のCentOS7の開発環境を公開しようかと思っています。
現在、ローカル開発環境を構築するのにVagrantはほぼほぼ必須かと思われますので、便利に使いこなせるようにしておきましょう。
Vagrantユーザーの参考になれば幸いです。
- Macに『Vagrant + VirtualBox』を導入する手順
- Windowsローカル開発環境を『Vagrant + VirtualBox』で作ってみよう
- Vagrantを使ってみよう!Boxの取得から起動・停止・削除まで
- 『Vagrant Cloud』を利用してVagrantのBoxを追加してみよう
- Vagrantで仮想マシンに接続&Webサーバを立ち上げてみよう
- Vagrantで作成した環境を「コピー&配布して他人と共有する」方法 <- 本記事
- 『Vagrant+VCCW』でWordPressローカル環境を構築してみよう
- 本番環境のWordPressサイトを『VCCW+WordMove』でローカルと同期!
Web開発のお仕事を募集しています
フリーランスのエンジニアとして、Webシステム開発のお仕事依頼を随時募集しています(現在の業務量によってお受けできない場合もあります)。
「Ruby on Rails」「JavaScript(jQuery, Reactなど)」「HTML + CSS」を用いたシステム開発、「Heroku」等を用いたサーバー構築・運用、「Git」や「GitHub」を利用したソーシャルコーディングなどに対応しています。
ご依頼を検討している方は、下記リンク本ブログからのお問い合わせ、もしくはokutaniのポートフォリオからご連絡ください。
LINKお問い合わせ
スポンサーリンク