プラグインのせいで遅くなったvagrant upを高速化する方法
vagrant upを高速化するためのポイント
- GuestAdditionsと最新のChefが入った仮想マシンをもとに新しいBoxを作る
- そのBoxを使ってvagrant upする
私の環境だと10分かかっていたのが2分半くらいまで短縮されました。
vagrant upを高速化するための手順
まず、公開されているBoxを取得してきてaddします。名前を仮にmybaseboxとします。
vagrant box add mybasebox 公開BOXのURL
mkdir ~/tmp/vagrant1
vagrant init mybasebox
Vagrantfileを編集して、"config.omnibus.chef_version = :latest"と1行記述します。(omnibusプラグインが必要です)
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "mybasebox"
config.omnibus.chef_version = :latest
end
編集したら仮想マシンを起動します。
vagrant up
これで、種Boxをもとに新規仮想マシンが起動されてGuestAdditionsと最新のChefのインストールが行われます。(長時間待たされますがガマンです)
変更を加えた仮想マシンをもとに新しいパッケージを作成する
vagrant halt
vagrant package
これにより、カレントディレクトリに"package.box"というファイルが生成されます。これをbox addしてやります。
vagrant box add mynewbox package.box
# addしたらpackage.boxは不要なので削除
rm package.box
これで、最新のGuestAdditionsと最新のChefが入った種Boxができあがりました!今後この種Boxをもとにvagrant upしたい場合は、
vagrant init mynewbox
vagrant up
高速にvagrant upすることができます。Happy vagrant up!
参考
Vagrantのboxに少しだけ手を加えたものをboxとして取っておきたい
カテゴリ:
Vagrant