コンテンツにスキップ

準備

Vagrantでは、作成する仮想マシンをディレクトリに分けて管理することが出来ます。
ディレクトリに配置されたVagrantfileを参照し、記載されている仮想マシンの定義/起動/構築を行います。

作業ディレクトリ作成

以下の例では、ホームディレクトリに移動してvagrant_testという名前でディレクトリを作成します。

1
2
3
4
5
6
7
8
9
PS C:\Users\user01> mkdir vagrant_test


    ディレクトリ: C:\Users\user01


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----       2020/11/11     13:10                vagrant_test

作成したディレクトリに移動します。

1
2
PS C:\Users\user01> cd vagrant_test
PS C:\Users\user01\vagrant_test>

ディレクトリの初期化

vagrant init <作成したいOS(Box)>コマンドを実行することで、Vagrantfileを作成することができます。
以下ではCentOS8のVagrantfileを作成しています。

1
2
3
4
5
6
7
8
PS C:\Users\user01\vagrant_test> vagrant init generic/centos8 --minimal
==> vagrant: A new version of Vagrant is available: 2.2.13 (installed version: 2.2.10)!
==> vagrant: To upgrade visit: https://www.vagrantup.com/downloads.html

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.

Tip

上記のコマンドは--minimalをオプションを付けて実行しています。
オプション無しで実行した場合は、コメントアウトでVagrantfileの使い方が記載されたファイルが作成されます。 (行数が多いので割愛。)
Vagrantfileの詳細はVagrantfileとはを参してください。

Vagrantfileが作成されたことを確認します。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
PS C:\Users\user01\vagrant_test> ls


    ディレクトリ: C:\Users\user01\vagrant_test


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       2020/11/11     13:17           3091 Vagrantfile

PS C:\Users\user01\vagrant_test> cat Vagrantfile
Vagrant.configure("2") do |config|
  config.vm.box = "generic/centos8"
end

プラグインのインストール(Optional)

Vagrantには多くのプラグインが用意されており、便利機能を追加することができます。
Available Vagrant Plugins · hashicorp/vagrant Wikiで使用できるプラグイン一覧が確認できます。

プラグインをインストールするにはvagrant plugin install <プラグイン名>を実行します。

1
2
3
4
5
PS C:\Users\user01\vagrant_test> vagrant plugin install vagrant-vbguest
Installing the 'vagrant-vbguest' plugin. This can take a few minutes...
Fetching micromachine-3.0.0.gem
Fetching vagrant-vbguest-0.27.0.gem
Installed the plugin 'vagrant-vbguest (0.27.0)'!

ここではvagrant-vbguestをインストールしています。
ゲストOS側とホストOS側のGuestAdditionを揃えてくれるプラグインです。
dotless-de/vagrant-vbguest: A Vagrant plugin to keep your VirtualBox Guest Additions up to date

vagrant plugin listコマンドでインストールされているプラグインの一覧が確認できます。

1
2
3
4
5
6
PS C:\Users\user01\vagrant_test> vagrant plugin list
vagrant-rdp (0.6.0, global)
  - Version Constraint: > 0
vagrant-vbguest (0.24.0, global)
vagrant-winnfsd (1.4.0, global)
  - Version Constraint: > 0

以上でVMを作成する準備が出来ました。

Tip

  • 上記ではCentOS8を使用しましたが、こちらから使用するOSを検索できます(詳細はOS一覧ページ参照)
  • vagrant initコマンドは、Vagrantfileのみを作成するものです。
    • Memory,IPアドレス,ホスト名などを指定する場合は、Vagranfileを編集することで指定のVM作成が可能です(詳細はvagrantfileページ参照)
    • GitHubなどで既にVagrantfileが用意されている場合は実施する必要はありません(詳細はvagrantfileページ参照)

Reference