search
LoginSignup
22

More than 5 years have passed since last update.

posted at

updated at

Organization

[Vagrant][Windows] WindowsでVagrantを使用してVM環境を作成する

目的

Windows 環境で Vagrant を使用して Ubuntu の VM 環境を作成する。

検証環境

今回の検証環境は以下になります。
Vagrant と VirtualBox のバージョンの組み合わせによっては Vagrant の実行時にエラーが発生するため注意してください。

パッケージ名 バージョン
Host OS Windows 7 64bit
Vagrant 1.9.5
VirtualBox 5.1.22 r115126

Vagrant のインストール

公式からインストーラーをダウンロードして、インストールします。

Download - Vagrant by HashiCorp

VirtualBox のインストール

Vagrantのプロバイダとして、今回はVirtualBoxを使用します。(VMwareも対応していますが、有料版になります)
公式からインストーラーをダウンロードして、インストールします。

Downloads – Oracle VM VirtualBox

VMイメージを作成

公式の配布ベースイメージの検索

HashiCorp が Vagrant Box のホスティングをしている Atlas から必要なパッケージを探します。
(以前は Vagrant Cloud という名前だったようです)

Discover Vagrant Boxes | Atlas by HashiCorp

今回はubuntuの公式boxを使用します。

ubuntu | Atlas by HashiCorp

※ちなみに「Vagrantbox.es」というbaseイメージを配布しているサイトもありますが、こちらのboxは出自も中身も不明なものが多いため基本的には使用しないほうが安全かとは思います。

Vagrantfileの作成

vagrant init にて Vagrantfile を作成します。

Vagrantfileの作成
# Vagrantfileの作成
$ vagrant init ubuntu/xenial64

VMの初回起動

次に vagrant up コマンドにて仮想マシン(VM)の起動を行います。

実行するVM が未作成の場合は作成を行います。
その際に、ベースボックスがローカルにない場合はダウンロードを行います。

プロキシ環境下の場合環境変数を設定する
# windows command promptの場合
$ set http_proxy="http://<proxy addr>:<port>/"
$ set https_proxy="http://<proxy addr>:<port>/"

## Git Bashの場合
$ export http_proxy="http://<proxy addr>:<port>/"
$ export https_proxy="http://<proxy addr>:<port>/"
ベースボックスから仮想マシンの作成とプロビジョニング
$ vagrant up
or
$ vagrant up --provider virtualbox

virtualbox指定はデフォルト動作のため省略できます。

VMへの接続

作成が完了したらssh接続します。

作成したvmへssh接続
# ssh接続
$ vagrant ssh
接続後の環境確認例
ubuntu@ubuntu-xenial:~$ uname -a
Linux ubuntu-xenial 4.4.0-75-generic #96-Ubuntu SMP Thu Apr 20 09:56:33 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

ubuntu@ubuntu-xenial:~$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.2 LTS"

これで Vagrantを使用してUbuntuの環境が作成できました。

その後のUbuntuの初期設定に関しては以下の記事が詳しいです。Vagrantでのプロビジョニングも含みます。
Ubuntu14.04のVM作ったらとりあえずやること - Qiita

その他

VagrantBox, VirtualBoxの保存先を(Cドライブ以外などに)変更したい場合は環境変数 VAGRANT_HOME を変更して下さい。こちらに関しては以下の記事が詳しいです。
Vagrant, VirtualBox 大きいファイルの保存先を変更する - Qiita

その他のVagrantの操作に関しては公式のドキュメントを参照して下さい。
Getting Started - Vagrant by HashiCorp

注意点

プロバイダをVirtualBoxで指定した場合、VirtualBoxのスタートページにもVMが追加されています。
ただし、スタートページから起動した場合 /vagrant がマウントされないなど動作が異なるため、特に制約がない限りは初回起動時以降も vagrant up コマンドにて起動することをおすすめします。

プラグイン

プロキシ設定の自動化

tmatilai/vagrant-proxyconf: Vagrant plugin that configures the virtual machine to use proxies

こちらのプラグインの利用は便利ですが2016年3月で更新がとまっているため、使用時には注意したほうが良いかもしれないです
少々面倒ですが最終的にはChef, Ansibleなどのプロビジョナー側でプロキシ設定の解決を行った方が良いかと思います。

関連

ネットワーク設定

ベースボックス関連

vagrant box updateでboxファイルをアップグレードする

その他

不具合対処

rsync: change_dir "/path/to/dir" failed: No such file or directory (2)

1.8.0 ~ 少なくともVagrant 2.0.0まで発生
Windows + vagrant 1.8.5 + rsync 3.1.1 で発生する、config.vm.synced_folderの失敗の直し方 - Qiita

参考

VagrantとDockerについて名前しか知らなかったので試した - Qiita
Vagrant + VirtualBoxでWindows上に開発環境をサクッと構築する - Qiita
VagrantfileでVirtualBoxのVMパフォーマンス向上設定 - Qiita
Vagrant + VirtualBox で CPU コアを2つ以上割り当てると遅い - Qiita

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
22