vagrant
lamp

俺のVagrant - boxファイル作成

More than 1 year has passed since last update.

Macを使って、独自のVagrantのboxファイルを作ってみる。


Vagrantのbox化手順


  • まずはvagrantでお好みのboxをセットアップする


    • 心ゆくまで納得行くまでやること



  • VagrantfileのIP設定(config.vm.network)はコメントアウトしておく


    • eth1の設定があると起動時にエラーが出る



  • MACアドレスのマッピングが固定化されてるので削除する


    • ln -s -f /dev/null /etc/udev/rules.d/70-persistent-net.rules1

    • ln -s -f /dev/null /etc/udev/rules.d/70-persistent-net.rules



  • sudoの設定


    • visudo


    • Defaults requirettyの行をコメントアウトする(多分もうされてる)


    • %vagrant ALL=(ALL) NOPASSWD:ALLを追記する



  • vagrant insecure public keyの設定



    • /home/vagrant/.sshがなければ作る


      • パーミッションは700




    • curl https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub > .ssh/authorized_keys


      • authorized_keysのパーミッションは600



    • これを行うとvagrant sshした時にコケるがvm自体は起動はするので、retry時にCtrl+Cで中止し、vagrant sshでパスワード入力してログインする。



  • Macに戻って以下の手順でbox化する



    • vagrant package --base [VM名] --output [出力box名]


      • VM名はVirtualBoxで使われてる長いVM名

      • 出力box名は、box追加時に使うbox名




    • vagrant package --base centos67_lamp_default_1459697286257_60059 --output centos-67_lamp.box など



  • boxファイルができたらDropboxなどにおいておくとリモートからbox add可能になる


    • Dropboxのpublicフォルダにvagrantboxesなどフォルダを作っておき、中に作ったboxファイルを設置

    • boxファイルをクリックして選択し、「公開リンクをコピー」メニューでURLを取得

    • 上記で取得したURLを他者へ公開すれば、つくったboxファイルを使えるようになる