vagrantで自分の作った環境を他人にコピーしたい機会があり、なんとか成功したのでメモします。いや~便利ですね・・・
環境は
vagrant 1.7.4
win8
です。
準備
まずそのまま配布しようとするとMACアドレスの重複が起きて下記のようなエラーが起こります。
そそのためにあらかじめvagrant upで移動したいファイルのイメージを起動し、sshでログインして、該当のファイルにNULLでシンボリックリンクを貼っておきましょう。
下記コマンドでOKです。
1 |
ln -s -f /dev/null /etc/udev/rules.d/70-persistent-net.rules |
参考リンク
この状態で一度イメージファイルを落とします。(vagrant halt)
boxイメージのエクスポート
ここでいまあるboxイメージの元(OSの状態そのものの塊?みたいなもの)をエクスポートします。
いつもvagrant upを行っているパスで
1 |
vagrant package |
を実行すればOKです。
そうするとpackage.boxというファイルがあります。(ファイル容量が1Gぐらいあり、この中にOSの状態が入っています。)
このあとこのパッケージにカスタマイズしたbox名をつけたい場合は
1 |
vagrant box add 任意のボックス名 package.box |
と打ちます。
1 |
vagrant box list |
と入力すると、先ほどつけたboxイメージが含まれているのがわかります。
私の場合はこの作業(box名の追加)をせずにもとのboxイメージのbox名をかえて、譲渡しました。
box名を変えたい場合は~/.vagrant.d/boxesの下にboxのディレクトリがあるので、ここでディレクトリ名を変更するのとVagrantfileの config.vm.box = “”の部分を変えればOKです。
移動&パッケージの追加
あとはこのpackage.boxをそのまま別のパソコンに移動します。
別PCで
1 2 3 4 5 6 7 8 |
#packageの確認 vagrant box add 任意のボックス名 package.box #登録されていることの確認 vagrant box list #登録 vagrant init box名 #起動 vagrant up |
と実行していけばOKです。
vagrant initしたあとは設定ファイルが作られますので、こちらのように修正がいります。
これで無事起動でき、以前の環境が復元されていればOKです。
参考リンク
[…] https://donow.jp/skillup/?p=1064 […]
[…] vagrantで仮想環境を別PCにコピー […]