memo
vagrant
VirtualBox

vargrant パッケージ化のメモ

  • vagrant package --vagrantfile Vagrantfile --include a.txt,b.sh,c.md
    • パッケージ化するときにVagrantファイルやそれ以外のファイルをパッケージング
  • vagrant box add package.json
    • jsonファイルの中身に従ってboxの追加やバージョニング
package.json
{
    "description": "Archlinux x86_64",
    "short_description": "Archlinux with GUI (xfce4), docker, Japanese man/font/keyboard",
    "name": "u1and0/archlinux",
    "versions": [{
        "version": "1.0.0",
        "status": "active",
        "description_html": "<p>Archlinux x86_64</p>",
        "description_markdown": "Archlinux x86_64",
        "providers": [{
            "name": "virtualbox",
            "url": "file:package.box"
        }]
    }]
}

  • tree -C ~/.vagrnt.d/boxes/myname-VAGRANTSLASH-boxname
    • パッケージ化してaddしたファイルのツリー構造を確認。(ちゃんとa.txtやc.mdが含まれているのか)
  • vagrant box update --box myname/boxname
    • package化してからバージョンの最新はどれなのか教えてあげる
  • vagrant init myname/boxname --box-version 1.0.0
    • バージョンが複数あるときはboxバージョン指定しないと>
  • vagrant remove myname/boxname --box-version 1.0.0
    • 古いboxは消す
  • tar tvf package.box .boxファイルはtar.gzファイルなのでtarコマンドで中身を見れる