天天看點

使用Packer制作vagrant box

vagrant(https://www.vagrantup.com/)是實作團隊一緻開發環境的利器,消耗的資源很小(比單獨跑一個虛拟機要小一點),可以快速打包,分發。

很多人喜歡下載下傳網上提供的一些box檔案來用,但是出于潔癖和自定義,我喜歡自己做box。有很多方式可以制作box,推薦使用Packer。

以下以制作一個centos7的box為例:

  1. 安裝VirtualBox,如果你喜歡vmware也是可以的,不過要收費哦。
  2. 下載下傳packer(https://www.packer.io),解壓到你指定的檔案夾。不用安裝的,直接用指令運作就可以了。
  3. 下載下傳ISO檔案,國内到163(http://mirrors.163.com/)下載下傳就好,建議下載下傳CentOS-7-x86_64-Minimal-1503-01.iso ,這是很小的包,centos做伺服器系統用最小的安裝包就好,沒有必要安裝一堆無用的東西,例如Firefox等。
  4. packer檔案夾建一個ISO檔案夾,把下載下傳的ISO檔案放到裡面。
  5. 編輯配置檔案,有一個很好的配置資源可以使用,https://github.com/boxcutter/centos.git,clone下來,然後自定義centos71.json:

    找到這一段:

    “vboxmanage”: [

    [

    “modifyvm”,

    “{{.Name}}”,

    “–memory”,

    “2048” // 記憶體大小,預設是512,太小了,建議1024-2048

    ],

    [

    “modifyvm”,

    “{{.Name}}”,

    “–cpus”,

    “2” //配置允許使用的CPU核數

    ]

    ]

    配置ISO參數:

    “iso_checksum”: “7c1e34e95c991175290d704dbdcc6531774cbecb”,

    “iso_name”: “CentOS-7-x86_64-Minimal-1503-01.iso”,

    “iso_path”: “iso”

    • iso_checksum可以在163裡面的sha1sum.txt 找到
  6. 配置好之後執行 packer build **/centos71.json,packer會完成整個打包過程,并且在box檔案夾生成centos71-nocm-0.1.0.box
  7. 測試box檔案,

    vagrant add boxName boxPath

    vagrant init boxName

    vagrant up

    一切順利的話,vagrant box就搞好了,但是Minimal版本的centos需要配置不少東西,但是對一個linux老手而言,這些就是家常便飯了。

繼續閱讀