こんにちは! JQです。
前回は『AWS Elastic Beanstalk編~Dockerを試してみる②~』と題して、AWS Elastic BeanstalkでDockerのデプロイを試してみました。
今回は『OSS編~Vagrantを試してみる~』と題して、仮想の開発環境自動化作成ツールであるVagrantを試してみたいと思います。
Vagrantとは
Vagrant(ベイグラント)とは仮想の開発環境を簡単に構築・管理出来る開発環境自動化作成ツールです。
実際の仮想環境の作成にはVirtualBox等が利用出来ます。
Vagrantのインストール
1. VirtualBoxのインストール
先ずはVirtualBoxをインストールします。
下記公式サイトからインストーラーをダウンロードしてインストールしておきます。
※今回はWindows8で実行しています。
2.Vagrantのインストール
次ぐにVagrantをインストールします。
同様に以下の公式サイトからインストーラーをダウンロードしてインストールします。
デフォルトでは以下にインストールされます。
1 |
C:\HashiCorp\Vagrant |
3.boxの設定
VagrantではOSインストール済みの仮想イメージを利用して仮想マシンを起動します。
今回は以下のサイトから探したUbuntuの公式イメージを取得してみます。
以下コマンドでboxイメージを取得します。
1 |
C:\HashiCorp\Vagrant>vagrant box add ubuntu-14.04 http://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box |
listコマンドで確認してみます。
1 2 |
C:\HashiCorp\Vagrant>vagrant box list ubuntu-14.04 (virtualbox, 0) |
4.起動
次ぐにVagrantの設定ファイルを作成します。
1 2 3 4 5 |
C:\HashiCorp\Vagrant>vagrant init ubuntu-14.04 A `Vagrantfile` has been placed in this directory. You are now ready to `vagrant up` your first virtual environment! Please read the comments in the Vagrantfile as well as documentation on `vagrantup.com` for more information on using Vagrant. |
続いて仮想マシンを起動してみます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
C:\HashiCorp\Vagrant>vagrant up Bringing machine 'default' up with 'virtualbox' provider... ==> default: Importing base box 'ubuntu-14.04'... ==> default: Matching MAC address for NAT networking... ==> default: Setting the name of the VM: Vagrant_default_1398912051348_75562 ==> default: Clearing any previously set forwarded ports... ==> 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: Warning: Connection timeout. Retrying... default: Warning: Remote connection disconnect. Retrying... ==> default: Machine booted and ready! ==> default: Checking for guest additions in VM... ==> default: Mounting shared folders... default: /vagrant => C:/HashiCorp/Vagrant |
ステータスコマンドで確認してみます。
runningで起動しているのが分かります。
1 2 3 4 5 6 7 8 9 |
C:\HashiCorp\Vagrant>vagrant status Current machine states: default running (virtualbox) The VM is running. To stop this VM, you can run `vagrant halt` to shut it down forcefully, or you can run `vagrant suspend` to simply suspend the virtual machine. In either case, to restart it again, simply run `vagrant up`. |
SSHコマンドを実行してみます。
※SSHクライアントが設定されていないと下記の様に表示されます。
1 2 3 4 5 6 7 8 9 10 |
C:\HashiCorp\Vagrant>vagrant ssh `ssh` executable not found in any directories in the %PATH% variable. I SSH client installed? Try installing Cygwin, MinGW or Git, all of which contain an SSH client. Or use the PuTTY SSH client with the following authentication information shown below: Host: 127.0.0.1 Port: 2222 Username: vagrant Private key: C:/Users/ユーザー名/.vagrant.d/insecure_private_key |
クライアントを利用して接続してみます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
login as: vagrant vagrant@localhost's password: Welcome to Ubuntu 14.04 LTS (GNU/Linux 3.13.0-24-generic x86_64) * Documentation: https://help.ubuntu.com/ System information as of Wed May 7 05:25:58 UTC 2014 System load: 0.04 Processes: 76 Usage of /: 3.0% of 39.34GB Users logged in: 0 Memory usage: 24% IP address for eth0: 10.0.2.15 Swap usage: 0% Graph this data and manage this system at: https://landscape.canonical.com/ Get cloud support with Ubuntu Advantage Cloud Guest: http://www.ubuntu.com/business/services/cloud 7 packages can be updated. 7 updates are security updates. Last login: Wed May 7 05:25:58 2014 from 10.0.2.2 vagrant@vagrant-ubuntu-trusty-64:~$ |
無事接続出来ました!
5.停止
最後に停止コマンドで終了します。
1 |
C:\HashiCorp\Vagrant>vagrant halt |
いかがでしたでしょうか?
次回は『OSS編~Jubatusを試してみる①~』と題して、オンライン機械学習向けの分散処理フレームワークのJubatusを試してみたいと思います。
お楽しみに!!!