学びをアウトプットするブログ

Windows10のHyper-vでvagrantを動かす。思わぬところでハマったけど

Windows10proでHyper-Vを利用しているのでどうせならこの環境でVagrantも動かしてみたいと思ってインストールしてみました。 Hyper-vの仮想環境に直接(?)ubuntuサーバーなりcentosなりを入れたら良いかもしれませんが、Vagrantが手軽なので試してみました。

vagrantのインストールは公式からWindow10 64bit版をインストールするだけ。 インストール完了したので早速boxをインストールしてみました。

vagrantでubuntu公式のboxがインストールできない

どこの誰が作ったboxか分からないようなものをインストールするのは嫌なので、Discover Vagrant Boxes - Vagrant Cloudからubuntu公式のboxをダウンロード。

$ vagrant init ubuntu/trusty64
$ vagrant up

これで行けるだろ!と思ったんですけど、エラーがでてしまってだめ。 providerが違うような記述があったのでhypervを指定して起動。

$ vagrat up --provider=hyperv

それでもダメ。ググってみたんですけど、解決策はわからず。 イラッとしたんでダウンロードしたvagrantのboxを削除することに

$ vagrant box remove ubuntu/trusty64

として画面を眺めていたら、「ubuntu/trusty64 ・・・virtualbox・・・」ってのがログに流れていったんですよ。いやいやvirtualbox使ってねーぞと。 あれもしかして、インストールしたのはvirtualbox用だったんじゃ・・・。と思って再度、Discover Vagrant Boxes - Vagrant Cloudを見に行ってみると。

vagrat

書いてあるよ。virtualbox用のboxをダウンロードしてただけじゃん。 公式はHyper-V対応のboxは用意していないようなので、「bento/ubuntu-16.04」を使ってみることに。

Hyper-v対応バージョンは限られているみたいなので、今度はHyper-Vに対応しているboxを選ぶ。

$ vagrant init bento/ubuntu-16.04 --box-version 201803.24.0
$ vagrant up

これでインストール完了して、無事に起動できました!