vagrant up起動に失敗したら

  • 92
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

はじめに

vagrant up

ココの時点でエラーが出て先に進めず、挫折しそうになったのでここに記録を残そう。

default: Warning: Connection timeout. Retrying...

ずっとこれが繰り返され、起動ができなかった…。

ググってみた

便利な時代ですね。
いくつか出てきたので、試してみました。
それが以下↓

1.再インストール

ぐぐったら最初に見つかった。
何より、すぐに出来る。
すぐにやってみた。

ダメでした

2.VBoxDrv.infをインストール

インストールしたフォルダにある
\drivers\vboxdrv
以下にある
VBoxDrv.inf
を右クリック→インストール
で実行

dadf3f6a95f186f100ca4cb186ac4d03.png

特に変化なし

3.Vagrantfileをいじる

GUIを表示して、何がいけないのか調査する設定をしましょう。
Vagrantfileの上のほうに

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|

という部分があり、コメントアウトになっている部分があるのでいくつか外す。該当部分は

config.vm.provider "virtualbox" do |vb|
  vb.gui = true
end

これで、vagrant up時にGUIウィンドウが一緒に開きます。

再度
vagrant up
を。

もし

default: Saving VM state and suspending execution...

となったら、停止しましょう。

vagrant suspend

もしくは

vagrant halt

です。

さて再び vagrant up

・・・。

変化あり(キた)

Bringing machine 'default' up with 'virtualbox' provider...
Vagrant cannot forward the specified ports on this VM, since they
would collide with some other application that is already listening
on these ports. The forwarded port to 2201 is already in use
on the host machine.

To fix this, modify your current projects Vagrantfile to use another
port. Example, where '1234' would be replaced by a unique host port:

  config.vm.network :forwarded_port, guest: 22, host: 1234

Sometimes, Vagrant will attempt to auto-correct this for you. In this
case, Vagrant was unable to. This is usually because the guest machine
is in a state which doesn't allow modifying port forwarding.

メッセージが変わりましたね。進展した気がします。
ただまた別の敵が出現したような気配…。
ポートが衝突しているっぽい?

3.2 ポートの指定を変更

どうやら自分の環境で、どこか衝突しているみたい。なので変更しました。
Vagrantfileファイルの

config.vm.network "forwarded_port", guest: 80, host: 8080

config.vm.network "forwarded_port", guest: 22, host: 2223

にしました。
さて、再びvagrant up

Bringing machine 'default' up with 'virtualbox' provider...
==> default: Clearing any previously set forwarded ports...
==> default: Fixed port collision for 22 => 2222. Now on port 2201.
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 => 2223 (adapter 1)
    default: 22 => 2201 (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
The guest machine entered an invalid state while waiting for it
to boot. Valid states are 'starting, running'. The machine is in the
'paused' state. Please verify everything is configured
properly and try again.

If the provider you're using has a GUI that comes with it,
it is often helpful to open that and watch the machine, since the
GUI often has more helpful error messages than Vagrant can retrieve.
For example, if you're using VirtualBox, run `vagrant up` while the
VirtualBox GUI is open.

お。

これは…

どうなんだ?

9ca9a3dc0a00e630e0dc8fda7b4e9763.png

と思っていたらこんなウィンドウが…。
なんかすごい根本的なところな予感

3.3 仮想化支援機構の有効化

ググったらこんなことが
「ホストマシンのBIOS設定でVT-x/AMD-V を有効化してください」
とりあえずググったページの通りにやってみよう。
たぶん自分のPCの仮想化支援機構が無効になっているようだ。
確かに、今使っているPCは、購入してからそんなものを有効化した記憶がない。

PCの起動時にBIOS設定をすることが出来るが、そこでやるようだ。
ググったサイトには起動時に「Ctrl + f」とあったが、なんか違う…。
次はF1を。

お どうやらこれっぽい。でもネットに載っているような画面とは違うメニュー達…。
本当にここでいけるのか…と思ったら

「仮想化技術:無効」

という場所が。

これかっっっ!?

有効にして、保存。そしてPCを起動。

そして vagrant up

…。

Bringing machine 'default' up with 'virtualbox' provider...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 => 2223 (adapter 1)
    default: 22 => 2222 (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
==> default: Mounting shared folders...
    default: /vagrant => C:/vagrant/myHost

これはキたんじゃねえか!?

4.poderosaでssh接続をしてみる

設定ファイルでポートの設定を変更したのを忘れずに。
今は
2223
になっています。

account    : vagrant
passphrase : vagrant

で接続しましょう。

73e0a1d4639e2d46ed60be9653e97cc7.png

7936c1a7c8b76fcaafeda319221ebbb7.png

キたよ

長い道のりでした。

これで無事起動成功!

まとめ

疲れました