vagrantで仮想環境を手軽に構築する
背景
開発時に壊しても大丈夫な仮想的な環境があると大変便利です。
昨今、マシンパワーの増加や、仮想化技術の向上によって手軽に仮想環境を構築することが出来るようになりました。
今回は手軽に仮想環境を構築する方法について説明します。 (※ mac限定)
環境構築
仮想環境の構築にはvirtualboxとvagrantを用います。
通常はインストールする際には公式ページからdmgファイル等をダウンロードし、インストールウィザードに従ったり、ApplicationフォルダにD&Dします。
しかし今回はhomebrewの拡張であるhomebrew-caskを用いてみます。
homebrew-caskはMacのGUIアプリケーションをhomebrewで管理できるようになる拡張機能です。
homebrew-caskのインストール自体もbrewコマンドで行うことが可能です。
brew tap phinze/homebrew-cask
brew install brew-cask
homebrew-caskの使用方法は、brewコマンドを拡張した物になります。
例えば利用可能なパッケージの検索が、通常brew search
であるのに対し、brew cask search
になります。
$ brew search google
google-app-engine google-perftools google-sparsehash google-sql-tool google-go
$ brew cask search google
google-app-engine-launcher google-chrome-canary google-earth google-notifier
google-chrome google-drive google-hangouts google-quick-search-box
Google Chromeをインストールしたければ、brew cask install google-chrome
とするだけです。
今回はvirtualboxとvagrantの導入を行うので以下のコマンドでインストールを行います。
brew cask install virtualbox
brew cask install vagrant
homebrew本体との差異は、homebrewでは/usr/local/Cellar
以下に実体を配置しますが、homebrew-caskではデフォルトで/opt/homebrew-cask/Caskroom
に配置します。
仮想環境の作成
vagrantが利用できるようになったので、仮想環境の構築を行います。
vagrantの仮想環境はboxと呼ばれるOSの仮想イメージで管理します。
boxを自作することも可能ですが、最初はvatualbox用にセットアップされたbox等が公開されているvagrant boxesを利用するのが便利です。
使いたいboxファイルのアドレスをコピーし、vagrantの初期化を行います。
vagrant init precise64 http://files.vagrantup.com/precise64.box
設定ファイルであるVagrantが作成されます。
取りあえずデフォルトで起動してみましょう。
vagrant up
これだけで仮想環境が立ち上がります。
Bringing machine 'default' up with 'virtualbox' provider...
[default] Box 'precise64' was not found. Fetching box from specified URL for
the provider 'virtualbox'. Note that if the URL does not have
a box for this provider, you should interrupt Vagrant now and add
the box yourself. Otherwise Vagrant will attempt to download the
full box prior to discovering this error.
Downloading or copying the box...
Extracting box...te: 1860k/s, Estimated time remaining: 0:00:02)
Successfully added box 'precise64' with provider 'virtualbox'!
[default] Importing base box 'precise64'...
[default] Matching MAC address for NAT networking...
[default] Setting the name of the VM...
[default] Clearing any previously set forwarded ports...
[default] Creating shared folders metadata...
[default] Clearing any previously set network interfaces...
[default] Preparing network interfaces based on configuration...
[default] Forwarding ports...
[default] -- 22 => 2222 (adapter 1)
[default] Booting VM...
[default] Waiting for machine to boot. This may take a few minutes...
[default] Machine booted and ready!
[default] Mounting shared folders...
[default] -- /vagrant
仮想環境の起動後、仮想マシンにsshでログインするコマンドも用意されています。
vagrant ssh
これで仮想環境にログインすることが出来ました。
Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.0-23-generic x86_64)
* Documentation: https://help.ubuntu.com/
Welcome to your Vagrant-built virtual machine.
Last login: Wed Sep 25 02:54:12 2013 from 10.0.2.2
vagrant@precise64:~$