Vagrant とは
仮想マシンの簡単な構築や、どこでも同じ環境を再現できるように仮想マシンを管理するためのコマンドラインツールです。
Rubyで実装されていて、Windows、Mac OS X、Linuxで動作します。
Vagrant自体には仮想化機能は無く、VirtualBoxなどの仮想化ソフトのフロントエンドとして機能し、仮想化ソフトの操作を簡単なコマンドで代行してくれます。
Vagrant を使うメリット
簡単に仮想マシンを構築できる
通常、仮想化ソフトでは環境構築のために複雑なコマンド操作を行いますが、Vagrantでは数行のコマンドで構築が完了します。
環境の差異により発生する不具合を最小限に抑えられる
一般的なWebアプリでは、本番環境・ステージング環境・開発環境/ローカル開発環境といった感じで、役割の異なる環境で運用・開発を行っているかと思います。
チームで開発する場合は、各自のローカル開発環境も必要になるはずです。
これらの環境構築をそれぞれが手作業で行った場合、環境に差異が生まれることがあり、開発環境では動くのに本番環境では動かないといったことが出てくる可能性があります。
環境を揃えるには、Chefなどの構成管理ツールを使って、構築手順を自動化するのがオススメです。
構成管理ツールには以下のメリットがあります。
- 構築手順がコード管理可能になる。
- どんな処理を行っているか明確になる。
- 簡単に共有できるようになる。
- 何度でも同じ結果を得ることができる。
また、Vagrantでも同様に仮想マシンの構成をVagrantfileというテキストファイルで管理しており、ファイル内に仮想マシン起動に構成管理ツールを実行するように指定する箇所があります。
このVagrantfileと構成管理ツールの設定ファイルを共有することで、どこでも同じ仮想マシンを再現することができるようになります。
インストール手順
今回は、Vagrant + VirtualBox で環境構築を行います。
以下からそれぞれのインストーラをダウンロードして、画面の指示に従ってインストールします。
Vagrantインストールが終わったら、PCを再起動します。
再起動したら、コマンドプロンプトでインストールを確認します。バージョンが表示されればOKです。
> vagrant -v
Vagrant 2.2.6
フォルダを作成
各仮想マシン用にフォルダを作成します。
> mkdir C:\vagrant
> cd c:\vagrant
> mkdir centos
> cd centos
Vagrant を初期化
インストールするBoxファイルは、https://app.vagrantup.com/boxes/search で検索できます。
「centos」などで検索するといくつかヒットします。
ここでは、「bento/centos-6.7」を選択します。
下図の赤枠部分にコマンドが記載されているので、これを実行します。
> vagrant init bento/centos-6.7
Vagrantfile を編集
作成されたvagrantfileをテキストエディタで編集します。
# config.vm.network "private_network", ip: "192.168.33.10"
↓ 先頭の# を削除します。
config.vm.network "private_network", ip: "192.168.33.10"
仮想マシンを起動する
vagrant up
このとき、指定したBoxが登録されていない場合は、自動的にダウンロードしてBox追加(vagrant box add)してくれる。
仮想マシンにログインする
コマンドプロンプトからSSHログインできないので、PuTTYなどのSSHクライアントを使ってログインします。
接続先ホスト名に192.168.33.10、接続先ポートに22を指定してください。
ユーザ | パスワード |
---|---|
vagrant | vagrant |
root | vagrant |
これでログインできるようになり、通常のサーバーと同じように操作できると思います。
続きはこちら↓↓↓
コメント
puttyやTeraTermからのSSH接続についての記載が大まかな内容でしたので、
念のため補足させてください。
vagrant upを行った直後「putty fatal error」など接続できない事象がございますが、コマンドプロンプトでvagrant reload を行ってからSSH接続すると良いみたいです。
補足ありがとうございます。
私も勉強になりました。