最近のモダンな仮想環境=Vagrantを勉強してみたのでメモ。Boxというテンプレートを使う事で仮想環境の初期化・セットアップが簡単らしい。また、例によって有志の方々がBoxを公開しているので導入が簡単(というか便利)。自分の開発環境も簡単にテンプレート化して初期化とかもできる。

必要な物

  1. Vagrant
  2. Virtual Box
  3. Windowsの場合はsshクライアントも。自分はRloginというツールを使っています。

Vagrantに関してだけど、__gemからインストールしてはダメ__らしい。gem iから落ちないようにすればいいのに、と思ったけど悪用される可能性もあるからできないのかぁ。とにかく、Vagrant公式からダウンロードしてくること。

というわけで、VagrantとVirtualBoxをダウンロード。特にインストールで困る点は無いと思う。無事インストールが終わったらvagrantコマンドが使えるようになる。

コマンドメモ

$ vagrant box -h
  Available subcommands:
    add
    list
    outdated
    remove
    repackage
    update

だいたい使うのはaddとlistとremoveか。

インストールしたら

とりあえずおもむろに公式のドキュメント>Getting Started>Boxとかを見てBoxを追加してみる。ターミナルに下記のコマンドを打ってみると、公式からprecise32というOS?を落としてくれる(長いので時間が無い時は打たないように)。

vagrant box add hashicorp/precise32

本来はURLかファイルパスを指定する。vagrant box add {title} {url}もしくは{file/path}という具合に打てば好きな環境テンプレート(box)を簡単に追加できるらしい。

で、その有志の方々がboxを公開しているのがここ

Vagrantbox.es

で、レッスン通りにCentOS 64bit VirtualBoxのURLをコピって

vagrant box add centos64 {url}

確認のコマンドvagrant box listで現在使えるboxの一覧が表示される。もちろんremoveで削除が可能。

使ってみる

というわけで、さっそく使ってみる。Vagrantは環境毎にディレクトリを作る必要があるので、おもむろにmkdir centosvm。で、その中に入ってcd centosvm。そしてvagrant init centos64。その際に使うbox?を指定する。

initすると、Vagrantfileというファイルが作成され、そこに色々設定とか書けるらしい。

で、Vagrantfileがあるディレクトリでvagrant upで仮想環境が起動する。それに関するコマンドが

vagrant status  //現在の状態を確認
        suspend //スリープ
        resume  //スリープ解除
        halt    //終了
        up      //起動
        reload  //起動
        destroy //削除

これらは頻繁に使うので覚えておいた方がイイかも。

仮想環境に接続する

仮想環境が起動したらvagrant sshでそのまま[vagrant@localhost ~]に接続できます。

Macはそのままterminalからsshできるけど、Windowsはできないのでsshクライアントを用意。自分はRloginというクライアントを使っているので、

エントリーに適当にvagrantと入力し、プロトコルをssh、ServerAddressを127.0.01、SocketPortを2222、UserNameをvagrant、passwordもvagrant、デフォルト文字セットをUTF-8で接続可能。

とりあえずここまで

とりあえずこれで仮想環境を立ち上げるまで出来る。超簡単。もちろん難しくなるのはこっから先のカスタマイズなのだけども。

ここからは仮想環境(今回で言えばCentOS)に好きなツールをインストールすればOK。それらのインストールなどもChefとかpuppetというツールを使えば環境構築がもっと楽になるらしいのだけど、自分は使わずに勉強の為にインストール工程を自分でやってみる事にした。

なので、Rubyの開発環境とかはまた別の記事に書いておく

実践 Vagrant
実践 Vagrant
posted with amazlet at 14.04.07
Mitchell Hashimoto
オライリージャパン
売り上げランキング: 84,886