kuro

1 minute read

Vagrantを高速化する

vagrant を使い docker環境を構築してlaravelを使っているが、ページロードが8秒くらい掛かりとても遅いので、Vagrantfileを見直しました。

変更点は2か所で、private_networkの設定と、フォルダ共有の形式を virtual box から nfs に変更することです。

Vagrantfile
Vagrant.configure("2") do |config|

config.vm.network "private_network", ip: "192.168.33.10"

config.winnfsd.uid = 1000
config.winnfsd.gid = 1000
config.vm.synced_folder ".", "/vagrant", type:"nfs"

以上を追加&修正するとNFS形式でフォルダ共有されますので、これで vagrant reload します。

docker-compose up -d

でエラーが出る場合があるが、NFS形式に変えた際に、大文字小文字が区別されるようになったからかもしれないので、ディレクトリ名やファイル名を見直します。

build: ~/php

私の場合、上記のようにPHPフォルダをdocker-compose.ymlファイルでは小文字で入力していたので、下記のようなエラーが出てしまいました。

==> default: build path /vagrant/php either does not exist, is not accessible, or is not a valid URL.
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!

 /usr/local/bin/docker-compose-1.23.1  -f "/vagrant/docker-compose.yml" up -d

Stdout from the command:



Stderr from the command:

build path /vagrant/php either does not exist, is not accessible, or is not a valid URL.

なので、以下のように大文字小文字を区別して修正しました。

build: ~/PHP

再び

vagrant reload
cd (*to the directory where exsists the docker-compose.yml file)
docker-compose exec php(container) php (*Laravel Project root)/artisan serve --host 0.0.0.0

ページロードしてみると、以前は8秒くらい待ったのが、2秒程度でページロード出来るようになりました!