menu
書いてる野郎
orebike@gmail.com
Download Vagrant - Vagrant ここから Mac 版を落としてインストール。
現在バージョンは 1.5.1。
普段は開発用に VMware Fusion 上の Linux mint を使っているが、Vagrantは標準では VirtualBox なのでそれに従う。 つまり簡単に言うと Vagrant というのは VirtualBox のオートパイロットアプリということだ。
なので VirtualBox をインストールする。VMware Fusion との同居は問題ないようだ。
VirtualBox で起動するためのイメージファイルを持ってくるこれを Box ファイルと言うらしい。 名前からして VirtualBox べったりな名前になっているが、それもそうでこれは単なるOSがインストール済みになっているVirtualBoxのイメージファイルだ。
このファイルの存在で Vagrant が特に何も高度な機能がないことがわかるだろう。単にオートパイロット環境なのだ。簡単に考えよう
A list of base boxes for Vagrant - Vagrantbox.es ここに各ファイルが有る。
CentOS6.5のちょっとサイズが小さめのやつを選んでみよう。今はURLをメモるだけ
https://github.com/2creatives/vagrant-centos/releases/download/v6.5.1/centos65-x86_64-20131205.box
$ vagrant box list There are no installed boxes! Use `vagrant box add` to add some.
ということで何も登録されていない
vagrant box add
に続き、識別したい適当な名前と box ファイルの位置を指定してドン
$ vagrant box add centos65 https://github.com/2creatives/vagrant-centos/releases/download/v6.5.1/centos65-x86_64-20131205.box
Box ファイルのダウンロードが開始される
$ vagrant box list centos65 (virtualbox)
登録された。
このファイルは展開されて
~/.vagrant.d/boxes/
以下に格納されている。
起動したインスタンスの設定とかを保存しておくディレクトリを作る
$ mkdir -p myvagrant/centos65001 $ cd myvagrant/centos65001
初期化
$ vagrant init centos65
ディレクトリに Vagrantfile
という Ruby で書かかれた設定ファイルが生成される
起動
$ vagrant up Bringing machine 'default' up with 'virtualbox' provider... ==> default: Importing base box 'centos65'... ==> default: Matching MAC address for NAT networking... ==> default: Setting the name of the VM: centos65001_default_1394772400670_85267 ==> default: Clearing any previously set network interfaces... ==> default: Preparing network interfaces based on configuration... default: Adapter 1: nat ==> default: Forwarding ports... default: 22 => 2222 (adapter 1) ==> default: Booting VM... ==> default: Waiting for machine to boot. This may take a few minutes... default: SSH address: 127.0.0.1:2222 default: SSH username: vagrant default: SSH auth method: private key default: Error: Connection timeout. Retrying... ==> default: Machine booted and ready! ==> default: Checking for guest additions in VM... ==> default: Mounting shared folders... default: /vagrant => /Users/hoge/myvagrant/centos65001
$ vagrant ssh
これで SSH で接続される
VM 上の /vagrant
ディレクトリはホストの myvagrant/centos65001
と共有されている。以上。
$ vagrant halt ==> default: Attempting graceful shutdown of VM...
これはインスタンスの電源を切っているだけなので当然再び
$ vagrant up
すれば、切る前の状態を維持(イメージから作ったばかりの状態ではない)して開始できる。
$ vagrant destory
インスタンスを最初の状態からやり直したい場合はdestoryコマンドで破壊してからまた vagrant up
すれば最初から再構築される。
テストや、環境構築の試行錯誤をやる場合はこれは便利な機能