読者です 読者をやめる 読者になる 読者になる

初老のボケ防止日記

おっさんのひとりごとだから気にしないようにな。

スポンサーリンク

今更だけどVagrantでも使ってみるか(1)



あらすじ

ここ最近、技術調査で仮想環境を作っては壊しの日々を送ることが多く、調査対象は違っても毎回仮想環境をゼロから作り直すのは正直面倒だなと常々思っていました。

そろそろ、こういった作業も自動化したいなぁと思い、Dockerでもやってみようかと思った矢先にまずはそのDocker導入済の仮想環境をVagrantで作ってみたらいいんじゃねえのかと閃いちゃったので、今更感ありますがまずはVagrant使ってみた次第です。


環境

既にVirtualBoxは使ってる状態。

OS Windows 8.1(x64)
VirtualBox 4.3.20


因みに以降のコンソール操作はGitBashなのでコマンドプロンプトではないです。

Vagrantインストール

以下からWindows版インストーラをダウンロードして入れるだけ。


Download Vagrant - Vagrant


再起動したらパスが通ってる模様

$ vagrant --version
Vagrant 1.6.5

はじめてのVagrant

ここでまずboxを用意する必要があるのだけれど、とりあえず公開されているものを探してそれを入手する。ここ最近は、Ubuntu 12.04 LTS Serverな環境なので今回もそれができるのを確認してみる。

外部公開されているboxをローカル環境に登録する。

$ vagrant box add dhoppe/ubuntu-12.04.5-amd64-nocm https://vagrantcloud.com/dhoppe/boxes/ubuntu-12.04.5-amd64-nocm                                             
==> box: Loading metadata for box 'https://vagrantcloud.com/dhoppe/boxes/ubuntu-12.04.5-amd64-nocm'                                                             
This box can work with multiple providers! The providers that it                
can work with are listed below. Please review the list and choose               
the provider you will be working with.                                          
                                                                                
1) virtualbox                                                                   
2) vmware_desktop                                                               
                                                                                
Enter your choice: 1                                                            
==> box: Adding box 'dhoppe/ubuntu-12.04.5-amd64-nocm' (v0.7.0) for provider: virtualbox                                                                        
    box: Downloading: https://vagrantcloud.com/dhoppe/boxes/ubuntu-12.04.5-amd64-nocm/versions/0.7.0/providers/virtualbox.box                                   
    box: Progress: 100% (Rate: 1816k/s, Estimated time remaining: --:--:--)     
==> box: Successfully added box 'dhoppe/ubuntu-12.04.5-amd64-nocm' (v0.7.0) for 'virtualbox'!  

登録されているか確認

$ vagrant box list
dhoppe/ubuntu-12.04.5-amd64-nocm (virtualbox, 0.7.0)

boxはユーザディレクトリ配下にインストールされるので容量に注意(構成にもよるが、1box辺り300MB位)

起動してみる

$ mkdir test                                                                          
$ cd test/                                                                            
$ vagrant init dhoppe/ubuntu-12.04.5-amd64-nocm                                       
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.                                
                                                                                      
$ vagrant up                                                                          
Bringing machine 'default' up with 'virtualbox' provider...                           
==> default: Importing base box 'dhoppe/ubuntu-12.04.5-amd64-nocm'...                 
==> default: Matching MAC address for NAT networking...                               
==> default: Checking if box 'dhoppe/ubuntu-12.04.5-amd64-nocm' is up to date...      
                                                                                      
==> default: Setting the name of the VM: test_default_1417660173839_62477             
==> 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: Machine booted and ready!                                                
==> default: Checking for guest additions in VM...                                    
==> default: Mounting shared folders...                                               
    default: /vagrant => C:/AppData/Vagrant/test     

初回実行時に、boxがコピーされてVMが新規構築される。作成先はデフォルトではコマンド打ったディレクトリではなく、VirtuakBoxで設定している新規VMファイルを配置するディレクトリ。

sshで接続してみる

$ vagrant ssh
Welcome to Ubuntu 12.04.5 LTS (GNU/Linux 3.13.0-32-generic x86_64)

 * Documentation:  https://help.ubuntu.com/
New release '14.04.1 LTS' available.
Run 'do-release-upgrade' to upgrade to it.

Last login: Thu Dec  4 03:30:57 2014 from 10.0.2.2
vagrant@ubuntu-12:~$ lsb_release  -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 12.04.5 LTS
Release:        12.04
Codename:       precise
vagrant@ubuntu-12:~$   

puttyからもlocalhost:2222指定で接続できる。

停止してみる

$ vagrant halt
==> default: Attempting graceful shutdown of VM...
$ vagrant status
Current machine states:

default                   poweroff (virtualbox)

The VM is powered off. To restart the VM, simply run `vagrant up`

感想

自分で手動でVirtualBoxで新規作成するより簡単。超絶便利。Windows環境だと面倒なのかなと思ったけどインストールしただけで特に環境設定も不要。boxさえローカルにあれば、VM新規作成も数分でできちゃう。でも用意されたboxだと、自分では必要のない余計なパッケージが入ってたり、localeが英語だったりちと、自分でいつもインストールする構成と異なるのでそこはちょいと気になるかも。

次回予告

自分でboxを作ってみる。
しかも、どうせならPackerで。

今更だけどVagrantでも使ってみるか(2) - 初老のボケ防止日記

実践 Vagrant

実践 Vagrant

Vagrant入門ガイド

Vagrant入門ガイド

スポンサーリンク