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

投稿者 : OSCA

[PR] "東野・岡村の旅猿"で登場したロケ地を紹介するファンサイト「あの場所へ行こう!」はこちら。

 前回は Vagrant を macOS にインストールする手順について解説しました。 今回は、インストールした Vagrant で仮想マシンの作成・起動・停止を行う手順について解説します。

事前準備

 Vagrant で仮想マシンを作成する前に Oracle VM VirtualBox がインストールされている必要があります。 下記の記事などを参考に、あらかじめ VirtualBox をインストールしておいてください。

Box の追加

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

vagrant box add {USER/BOX}

 {USER/BOX} はインターネットで配布されている Box の名称です。 Box は様々なユーザが様々な種類のものを配布しており、Discover Vagrant Boxes のサイトで検索することができます。 「ユーザ」にはOSのディストリビュータなどがいて、それぞれが公式の Box を配布しています。 例えば CentOS は centos というユーザで CentOS 6 や CentOS 7 の Box を配布しており、それぞれの Box は centos/6, centos/7 という名前です。

 ここでは CentOS 7 の Box を追加してみようと思いますので、次のようにコマンドを実行してみましょう。 途中で対象の仮想デスクトップ環境を問われるので、vitualbox (2) を選択します。

MacBook-Air:~ User$ vagrant box add centOS/7
==> box: Loading metadata for box 'centOS/7'
    box: URL: https://atlas.hashicorp.com/centOS/7
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) libvirt
2) virtualbox
3) vmware_desktop

Enter your choice: 2
==> box: Adding box 'centos/7' (v1703.01) for provider: virtualbox
    box: Downloading: https://atlas.hashicorp.com/centos/boxes/7/versions/1703.01/providers/virtualbox.box
==> box: Successfully added box 'centos/7' (v1703.01) for 'virtualbox'!

 ”Successfully added box ~” と表示されれば Box の追加は完了です。 vagrant box list コマンドで追加された Box を一覧で確かめることができます。

MacBook-Air:~ User$ vagrant box list
centos/7 (virtualbox, 1703.01)

Vagrantfileの初期化

 Vagrant は仮想マシンを作成する際に、Vagrantfile というスクリプトファイルを利用します。 Vagrantfile には仮想マシンをどのように作成するのかを記述します。 例えば仮想マシンに割当てるIPアドレスやメモリの容量なども記述することができます。 次の作業は、この Vagrantfile のテンプレートの作成です。 まずは適当なフォルダを作成し、フォルダに移動します。 ここでは centos7 という名前のフォルダを作成します。

MacBook-Air:~ User$ mkdir centos7
MacBook-Air:~ User$ cd centos7

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

vagrant init {box_name}

 今回は先ほど追加した centOS/7 という名前の Box を仮想マシンのテンプレートとして利用しますので、以下のように実行します。

MacBook-Air:~ User$ vagrant init centOS/7
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.

 これで Vagrantfile が作成されました。

MacBook-Air:~ User$ ls -l
-rw-r--r--  1 user  staff  3352  5 2 21:21 Vagrantfile

仮想マシンの起動・停止

 さぁ、作成した仮想マシンを起動してみましょう! 前節で「Vagrantfile には作成する仮想マシンの設定を記述できる」と述べましたが、ここでは Vagrantfile の設定は何も変更せずに、デフォルトの設定のまま仮想マシンを作成して起動します。 仮想マシン起動のコマンドは vagrant up です。

MacBook-Air:~ User$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
(略)

 仮想マシンの状態を調べて起動していることを確認しましょう。 vagrant status で仮想マシンの状態を表示できます。 “running” と表示されれば起動中ということです。

MacBook-Air:~ User$ vagrant status
Current machine states:

default                   running (virtualbox)
...(略)

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

MacBook-Air:~ User$ vagrant halt
==> default: Attempting graceful shutdown of VM...

仮想マシンへのSSH接続

 起動した仮想マシンへのSSH接続(ログイン)は vagrant ssh コマンドでできます。 Vagrant で作成された仮想マシンには vagrant という一般ユーザーが作成されており、vagrant ssh コマンドでログインした際には vagrant ユーザのホームディレクトリにログインします。

MacBook-Air:~ User$ vagrant ssh
[vagrant@localhost ~]$

 また、仮想マシンの root ユーザーになる場合のパスワードも vagrant です。

おわりに

 以上で Mac OS X で Vagrant を利用して仮想マシンを操作するチュートリアルは終了です。 とても簡単に仮想マシンを扱えることが体感できたでしょうか? 引き続き本連載のTOPページから、更に便利に Vagrant を利用する手順について御覧ください。

Vagrant入門へ戻る

更新履歴

  • 2014年06月28日 – 初稿を執筆しました。
  • 2017年05月02日 – 最新の v1.9.4 に合わせて解説を最新化しました。

Vagrantのトップへ戻る

著者 : OSCA

OSCA

Java, PHP 系のWEBエンジニア。 WEBエンジニア向けコミュニティ「WEBエンジニア勉強会」を主催。 個人として何か一つでも世の中の多くの人に使ってもらえるものを作ろうと日々奮闘中。
@engineer_osca