コンユウメモ @kon_yu

作ったガラクタとか、旅行とかの話

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

Qiita書いたものを転機

Vagrantの設定ってChefとか構成するけど時間がかかるし、非エンジニア以外のメンバにやって貰う場合、うまく行かなかった場合はハードルが高いよね

そんなわけで、作成済みのBoxを配布する手順を公開するよ。 ※Virtual Boxで実施しているのでVMwareは未確認

追記 コピーしたBoxがネットワークにつながらない時はこちらを参考されるとよいVagrantのネットワークが起動しないときは

前提条件

  • mac OSX10.9
  • virtual box 4.3.6
  • Vagrant 1.3.5

vagrnt のVagrantfileのあるディレクトリに移動し、boxをエクスポートする

> vagrant package
Exporting VM... (結構時間がかかる)

基本的にはVagrantfileのあるディレクトリにpackage.boxが出力される 数GBあるのでディスク容量に注意が必要

vagrantにboxを追加する

# box に追加
> vagrant box add BOX_NAME ./package.box
# boxが追加されたことを確認
> vagrant box list
BOX_NAME (virtualbox)

vmvirtualbox(VMWARE)に追加する

起動用の設定ファイルVagrantfileを新規作成する場合と、
ネットワーク設定などを配布元のPCと同じにしたい場合の二通りある

共有フォルダの設定や、ネットワークの設定などまるまるコピーしたい場合は後者を選択したほうが良い

Vagrantfileを新規作成する場合
> mkdir VM_HOME
> cd VM_HOME
> vagrant init VM_NAME
Vagrantfileを元のVMのをコピーする場合
> mkdir VM_HOME
> cd VM_HOME
> cp ORIGINAL_PATH/Vagrantfile ./
> vi Vagrantfile

Vagrantfileの下記の値を追加したBox名(BOX_NAME)に変更する

config.vm.box = "BOX_NAME"

vagrant を起動し、ssh接続する

> vagrant up
> vagrant ssh