Vagrantで作った仮想環境を保存しておく

@nqounetです。

vagrantでchefを使って色々頑張っていたりするわけですが、疲れました。

同じ仮想環境で良ければ、ひとつ作ったものを使い回せば良い、ということに、最近ようやく気づきました。

仮想環境を自分自身で再利用する

Vagrantのboxを使う時は、元になる仮想マシン(box)がローカルに保存されます。

色々と試していたら、結構な数になっているかもしれません。

保存されているboxはvagrant box listで見ることが出来ます。

1
2
3
4
5
6
7
$ vagrant box list
Berkshelf-CentOS-6.3-x86_64-minimal (virtualbox)
CentOS-6.4-i386-plenv               (virtualbox)
CentOS-6.4-x86_64-plenv             (virtualbox)
base                                (virtualbox)
base64                              (virtualbox)
centos64_64                         (virtualbox)

ここにあるboxは、Vagrantfileでbox_urlを指定しなくても利用できます。

自分自身で使うだけなら、このリストに登録(ローカルに保存)しておけば良い、ということです。

それをするには、vagrant packageを使います。

1
2
3
4
5
6
$ vagrant package
[default] Attempting graceful shutdown of VM...
[default] Clearing any previously set forwarded ports...
[default] Creating temporary directory for export...
[default] Exporting VM...
[default] Compressing package to: /Users/nobu/sandbox/vm-plenv/package.box

そうすると、カレントディレクトリにpackage.boxという名前で、現在のVMが保存されます。

あとは、それをvagrant box addで名前をつけて追加してやれば良いです。

1
$ vagrant box add new-box package.box

こうすると、先ほどのVMがnew-boxという名前で保存され、vagrantから手軽に使えるようになります。

1
2
3
4
$ mkdir ~/vagrant-new-box && cd ~/vagrant-new-box
$ vagrant init new-box
$ vagrant up
$ vagrant ssh
comments powered by Disqus
Hugo で構築されています。
テーマ StackJimmy によって設計されています。