Shred IT!!!!

IT全般について試したこと・勉強したことを綴ったり、趣味について語るブログ

Vagrant + VirtualBox で構築した環境を他の PC へコピー・移設する方法

f:id:jetglass:20150810182720j:plain

概要


MacBookPro から iMacVagrant + VirtualBox で構築した環境をコピーする。
開発中のソースは GitHub で管理されているのでどちらのマシンでも作業できるようになる。

  • コピー元 = MacBookPro
  • コピー先 = iMac

この仮想環境は CentOS 7 なので、ボックス名は cent7 にしている。

[コピー元作業]package.box を作成・転送する


MacBookPro でまず下記を実行してみる。

# vagrant box list
cent7 (virtualbox, 0)

box として cent7 が取り込まれていることがわかる。

cent7 の Vagrantfile が置いてあるディレクトリへ移動し、下記を実行する。

# vagrant package

実行したディレクトリに cent7 のpackage.boxが作成される。

AirDrop で MacBookPro から iMac へ package.box と Vagrantfile を送信する。

MacBookPro で行う作業はこれで終わり。

[コピー先作業]package.box を受けとって環境構築する


準備

下記サイトより VagrantVirtualBox をダウンロードしてインストールする。
確か両方とも dmg ファイルなのでインストールは簡単。

package.boxを取り込む

受け取った package.box と Vagrantfile を任意のディレクトリへ移動する。

# mv ~/Downloads/package.box ~/WorkSpace/cent7/.
# mv ~/Downloads/Vagrantfile ~/WorkSpace/cent7/.
# cd ~/WorkSpace/cent7/

package.box を取り込む

# vagrant box add cent7 package.box

下記を実行すると cent7 が取り込まれていることがわかる。

# vagrant box list
cent7 (virtualbox, 0)

環境を立ち上げてみる。

# vagrant up
# vagrant ssh

無事に立ち上がって完了。

まとめ


非常に簡単に仮想環境を他PCへコピーして動作させることができた。

当然だけど、仮想環境内の秘密鍵や git, ssh, bashrc, vimrc などの設定もまんまコピーされるので、 チームメンバーへ box ファイルを渡すときは注意が必要。

チームで仮想環境の運用を考えると chef でがんばって書いて管理していくか、 個人設定をしていないまっさらな box ファイルを管理していくのがよさげか。

自分用にコピーや移設する分には何も考える必要がなく快適!!

参考

Vagrantでexportした環境(box)を取り込む方法 - Qiita

vagrant + virtualboxで作ったRuby環境を他のPCに環境移行する方法 - Qiita