Vagrant インストールメモ
下記エントリのインストール方法が古くなっていたので、Vagrant のイントールメモを残しておきます。
最近は公式パッケージがあるので、gem でインストールとかはしないみたいです。
Vagrant とは
仮想マシン上に手軽に開発環境が構築できるツールです。
Chef や Puppet などのプロビジョニングツールとの連携もできるので、違う環境に移行可能な開発環境を簡単に構築できます。
VirtualBox のインストール
Vagrant は、VMware や Amazon EC2 とかでも使えますが、今回はお手軽に試すことができる VirtualBox を使います。
公式サイトから最新版をダウンロードして、インストールします。
Box の追加
Box は、仮想マシン起動の際にベースとなる OS イメージファイルのことです。
下記サイトで公開されている CentOS 6.5 を使用しました。
別途 knife-solo で Chef Solo 環境をインストール予定なので、プロビジョニングツールはインストールされていない Box を使用します。
$ vagrant box add centos65 https://github.com/2creatives/vagrant-centos/releases/download/v6.5.1/centos65-x86_64-20131205.box $ vagrant box list centos65 (virtualbox)
仮想マシンの初期化、起動
仮想マシンの設定ファイル(Vagrantfile)が作成されるディレクトリを作成して、仮想マシンの初期化を行います。
$ mkdir -p ~/vagrant/centos65 $ cd ~/vagrant/centos65 $ vagrant init centos65
仮想マシンを起動します。
$ vagrant up
仮想マシンのネットワーク設定変更
ポートフォワードとか面倒なので、ホストオンリ(プライベート)ネットワークを設定します。
$ cd ~/vagrant/centos65 $ vi Vagrantfile config.vm.network :private_network, ip: “192.168.33.10” # コメントアウト $ vagrant reload
SSH の設定
上記のネットワーク設定を行っても、ssh 時に vagrant ユーザを指定するようなので、~/.ssh/config に設定しておきます。
また、Vagrant で起動する仮想 OS は、vagrant-xxxxx のように名前解決するように、/etc/hosts に設定します。
$ sudo vi /etc/hosts 192.168.33.10 vagrant-centos65 $ vi ~/.ssh/config Host vagrant-* User vagrant UserKnownHostsFile /dev/null StrictHostKeyChecking no PasswordAuthentication no IdentityFile ~/.vagrant.d/insecure_private_key IdentitiesOnly yes LogLevel FATAL
以下の感じでログインできるようになりました。
$ ssh vagrant-centos65
Vagrant コマンド
- Box の追加
$ vagrant box add %box-name% %url% $ vagrant box add centos65 https://github.com/2creatives/vagrant-centos/releases/download/v6.5.1/centos65-x86_64-20131205.box
- Box の削除
$ vagrant box remove %box-name% $ vagrant box remove centos65
- Box リストの表示
$ vagrant box list
- 仮想マシンの初期化
$ vagrant init %box-name% $ vagrant init centos65
- 仮想マシンの起動
$ vagrant up
- 仮想マシンの一時停止、復帰
$ vagrant suspend
$ vagrant resume
- 仮想マシンの停止
$ vagrant halt
- 仮想マシンのステータス確認
$ vagrant status
- 仮想マシンの削除
$ vagrant destroy
Chef 環境のインストールと連携は、別の機会に書きたいと思います。