Windows版Vagrantを利用して仮想マシーンを操作してみよう

投稿者 : OSCA

 前回は Windows に Vagrant をインストールする手順について解説しました。 今回は、さっそくインストールした Vagrant を利用して仮想マシンの作成・起動・停止について説明します。

事前準備

 Vagrant を利用して仮想マシンを操作するために Oracle VM VirtualBox がインストールされている必要があります。 別稿「Oracle VM VirtualBox をインストールする手順 (Windows 7)」などを参考にして、あらかじめインストールしておいてください。

 また、もしインターネットの接続にプロキシが必要な会社や組織などのネットワークをご利用の場合は、別稿「WindowsでVargentを使う場合のプロキシ設定」などを参考に Vagrant にプロキシの設定をしてください。

Box の追加

 まずは Box をダウンロードします。 Box とは、仮想マシンのテンプレートとなるファイルです。 仮想マシンを作成する際には、この Box がコピーされて仮想マシンが作成されると覚えておけば良いでしょう。 Box を追加するためのコマンドは以下の通りです。

vagrant box add {name} {url}

 {name} はあなたが好きに付けられる追加した Box の名前です。 覚えやすい名前をつければ良いです。

 そして {url} はインターネットで配布されている Box の URL です。 Box はインターネットで色々な OS のものや様々な初期状態のものが配布されています。 Vagrantbox.es というサイトから様々な Box をダウンロードできます。

 今回は CentOS 6.3 32bit の Box をインターネットからダウンロードして追加してみようと思います。 今回は {name} に centOS63_32 という名前を付けました。 Box の URL は、前述のVagrantbox.es から CentOS 6.3 32bit の URL をコピーしたものです。

 それではコマンドを実行してみましょう。

C:¥Users¥user>vagrant box add centOS63_32 http://tom.davidson.me.uk/dev/vagrant/centos63-32.box
Downloading box from vagrant box add centOS63_32 http://tom.davidson.me.uk/dev/vagrant/centos63-32.box
Extracting box...ate: 642k/s, Estimated time remaining: --:--:--)
Successfully added box 'centOS63_32' with provider 'virtualbox'!

“Successfully added box ~” と表示されて Box の追加が完了したことが知らされればOKです。 vagrant box list コマンドでも現在の追加されている Box を一覧で確かめることができます。

C:¥Users¥user>vagrant box list
centOS63_32 (virtualbox)

仮想マシンの初期化

 次のステップは仮想マシンの初期化です。 まずは適当なフォルダを作成し、フォルダに移動します。

C:¥Users¥user>md centOS63_32
C:¥Users¥user>cd centOS63_32

 上で追加した Box を基に新たな仮想マシンを作成します。 初期化のコマンドは以下の通りです。

vagrant init {name}

 今回は先ほど追加した centOS63_32 と名前を付けた Box をテンプレートとして利用しますので、以下のように実行します。

C:¥Users¥user¥centOS63_32>vagrant init centOS63_32
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.

 これで初期化が完了しました。

仮想マシンの設定

 作成した仮想マシンにSSHでアクセスできるようにするために、仮想マシンにIPアドレスを設定します。 vagrant init コマンドにより Vagrantfile という設定ファイルがカレントディレクトリに作成されていますので、そのファイルを編集します。

 テキストエディタでファイルを開き、config.vm.network という設定の行があるので、コメント(#)を外します。 (26行目くらい)

# Create a private network, which allows host-only access to the machine
# using a specific IP.
config.vm.network :private_network, ip: "192.168.33.10"

 上のように単純にコメントを外すと 192.168.33.10 のIPアドレスが仮想マシンに割り当てられます。

仮想マシンの起動・停止

 作成した仮想マシンを起動してみましょう。 起動のコマンドは vagrant up です。

C:¥Users¥user¥centOS63_32>vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
(中略)
Guest Additions Version: 4.1.22
VirtualBox Version: 4.3
[default] Configuring and enabling network interfaces...
[default] Mounting shared folders...
[default] -- /vagrant

 起動中の仮想マシンの停止は vagrant halt コマンドです。

C:¥Users¥user¥centOS63_32>vagrant halt
[default] Attempting graceful shutdown of VM...
DL is deprecated, please use Fiddle

仮想マシンへのSSH接続

 仮想マシンへの接続は Teraterm や Poderosa などの SSH クライアントから接続します。 Vagrant には接続のために vagrant ssh というコマンドが用意されていますが、Windows ではそのコマンドが単純には利用できません。 SSH クライアントソフトから、 192.168.33.10 の 22 ポートに接続してください。

ホスト192.168.33.10
ポート22
ユーザー名vagrant
パスワードvagrant

root のパスワードも vagrant となっています。

仮想サーバーへのSSH接続例

おわりに

 以上で Windows に Vagrant を導入する説明は終わりです。 とても簡単に仮想マシンを扱えることが体感できたでしょうか? 今回起動した CentOS ですが、日付などが日本時間になっていません。 Vagrantbox.es から入手した Box が日本語のタイムゾーンの設定になっていない為です。 もし日本語・日本時間に変更したい場合は、別稿「Vagrant の CentOS 6 の時計時刻や表記を日本対応させる手順」を参考にしてみてください。

Vagrant入門へ戻る

更新履歴

  • 2014年01月26日 – 執筆しました
  • 2014年11月03日 – わかりにくい説明文言を修正しました
  • 2015年07月06日 – わかりにくい説明文章を訂正しました

著者 : OSCA

OSCA

 初級WEBエンジニアです。最近は Android, iOS, WEBアプリの作成に力を入れています。 個人として何か一つでも世の中の多くの人に使ってもらえるアプリを作ろうと日々奮闘中です。