No.20
【仮想環境】VirtualboxとVagrantの仮想マシンをコピー
VirtualboxとVagrantで作った仮想マシンを他のPCにコピーする
仮想サーバは便利だけど欠点もある。ネットワーク上に共通の環境があるわけではないので、複数人・複数環境で開発を行っているとどうしても設定などに差が出てきてしまう。例えばyumでパッケージを入れた・入れない、sshの設定をした・しない、など思い当たることは多いだろう。
…多いよね?
まあ、それを解決する方法としてはchefで環境設定を行うとかいろいろあるけれど、手っ取り早いのは仮想サーバそのものをコピーして他人に渡してしまうことだろう。環境を複製しちゃうという乱暴な方法だけど、確実。
というわけで、しょっちゅう手順を忘れちゃうのでメモしておく。
仮想マシンのコピー
まず、コピーしたいVagrant環境のディレクトリに移動する。いつもvagrant up
してるディレクトリだ。
cd 対象のディレクトリ
vagrantのコマンドを使ってboxをexportする。
vagrant package
デフォルトだとpackage.box
という名前のファイルが出来るけど、変更することも可能。その場合は--output
オプションを指定する。
vagrant package --output ファイル名
ここまででコピーする側の環境での作業は終わり。
boxファイルの作成にはそこそこ時間がかかるので急いでるときとかは注意。
いったんローカルにコピーするなり、scpするなり好きな方法で複製を作る側の環境にコピーしておこう。
※以降の説明は標準のpackage.box
だったという前提で書くので、自分のファイル名に読み換えてどうぞ。
仮想マシンの複製
複製する方のマシンにコピーしたら、まずはVagrantのboxとして登録を行う。
vagrant box add お好きなボックス名 package.box
あとは新規に仮想マシンを作るときと同じ。仮想マシン用のディレクトリを作成し、vagrant init
してvagrant up
すればOK。
mkdir 仮想マシン用のディレクトリ
cd 仮想マシン用のディレクトリ
vagrant init
vagrant up
参考
新規に仮想マシンを作成する場合は下記の記事をどうぞ。