こんにちは、Webプログラマの篠田です。
本年も、WebプログラミングやAIの情報を配信していきたいと思います。
本年もよろしくお願いいたします。
今回は、ローカル環境で大活躍する「Vagrant」を他のPCに移管する方法をご紹介します。
移管する「Vagrant」の環境は下記のとおりです。
・Vagrant 2.2.2
・macOS
下準備
「Vagrant」の移管をする場合は、現在利用しているVagrant環境の「boxイメージ」を作成することで、簡単に移管することができます。
ですが、いきなり「boxイメージ」を作成すると、移管先PCでうまく動作させることができません。
原因は、「Vagrant」内のMACアドレスが重複を起こしてしまうためです。
MACアドレスが重複した状態のままだと、PC側とのファイル共有が正常に動作しない不具合が発生します。
そのため、「boxイメージ」を作成する前にひと手間かけておきます。
■移管元の「Vagrant」で実行するコマンド
1 |
$ sudo ln -s -f /dev/null /etc/udev/rules.d/70-persistent-net.rules |
コマンドの実行が完了したら、一旦「Vagrant」から抜けましょう。
Macのコンソールに戻ってきたら、下記のコマンドを実行して「Vagrant」を停止します。
1 |
$ vagrant halt |
boxイメージの作成
下準備が終われば、移管元の「Vagrant」から「boxイメージ」を作成していきます。
「Vagrant」が停止している状態で、下記のコマンドを実行します。
1 |
$ vagrant package |
あとは、処理が終わるのを待つだけです。
プログラムが終わると、ディレクトリ内に「package.box」というのが作成されます。
この「package.box」が「boxイメージ」になります。
「package.box」は、1GB以上になりますので、容量の大きな外付けHDDやフラッシュメモリをご用意ください。
※私の場合は、2.5GBありました。
移管先PCに「Vagrant」を移管する
最後に、移管先PCに「package.box」を使って、もともとの「Vagrant」環境を再現します。
■移行先で実行するコマンド
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# すでに「Vagrant」を展開するディレクトリがある場合は、不要です。 $ mkdir Vagrant $ cd Vagrant # 作成した「Vagrant」ディレクトリ内に「package.box」をコピーします。 # 「Vagrant」ディレクトリ内は、空にしておいてください。 # 移管したい「package.box」に名前をつけて、listに追加します。 $ vagrant box add 任意のボックス名 package.box # 「Vagrant」環境を作成します。 $ vagrant init 先程付けた任意のボックス名 # 起動させます $ vagrant up |
「vagrant init」で、設定ファイルが作成されますが、初期状態に戻っています。
以前の設定内容を活用される場合は、「vagrant init 」実行後にコピーしてください。
これで、仮想環境が表示されれば、移管完了です。
まとめ
「Vagrant」の仮想環境はみなさんそれなりに時間をかけて構築されたと思います。
PCの引っ越しごとに同じ作業をするのは大変ですし、状況によってはアプリケーションなどがバージョンアップしており、正常に動かない場合もあります。
そういったリスクを少しでも軽減できる方法として、環境の移管は非常に有効な手法だと思います。
ぜひ、スムーズな移管に役立てていただければ幸いです。
現場の業務フローに寄り添ったWebシステムをお求めなら、私たちALAKIにご相談ください。
ALAKIは経営者様が感じている問題点と、実際にWebシステムを利用される現場スタッフ様が直面している課題を、弊社システムエンジニアが丁寧に聞き取り、お客様と共にシステムを作り上げていきます。
業務改善が実現できるWebシステムをお求めの方は、是非ALAKIにご相談ください。