2013-02-13 11 views
16

ile bir temel kutu ambalajlama Bazı oldukça standart paketler (PHP/MySQL/Apache) yükleyen bir lucid32 kutusu için belirli bir Vagrantfile var, bazı özel bağlantı noktası yönlendirme yapıyor ve böyle devam, ödeme a git den proje ve kullanma ekibindeki diğer geliştiriciler için bu kutuyu paketlemek istiyorum, bu yüzden komutunu kullanın bazı sunucu yapılandırmaları değiştirin: bir test.box dosyasını almakÖzel bir Vagrantfile

vagrant package boxname --output test.box --vagrantfile Vagrantfile 

, bu ambalajında ​​notları benim spesifik Vagrantfile ekleyen ki, o zaman ben çalıştırın:

vagrant box add boxname test.box 

Öyle görünüyor içinde vagrant box list, sadece iyi şimdi bazı test dizini oluşturmak ve vagrant up ardından vagrant init boxname yapmak ve ne zaman o kasada ve her şeyi dosyalarla kutu hükümler, ancak değil Kurulum uygun port yönlendirme, yapar ve içindedir Vagrantfile'ımı kullanmama aslında onu paketledim, ancak bu dizinde yeni bir varsayılan oluşturdu.

ben fark ~/.vagrant.d/kutuları/Belirli Vagrantfile olmak olsun herhangi bir yolu/_Vagrantfile

var mı içerir ben de paketlenmiş biriyle birlikte varsayılan Vagrantfile sahiptir boxname Ben vagrant init boxname yaptığımda oluşturulan?

cevap

21

Bu aslında amaçlanan şekilde çalışıyor. Vagrant yüklendiğinde birden fazla Vagrantfiles yükler (sadece vagrant init'dan değil) ve bir kutuyla paketlenmiş Vagrantfile bunlardan biridir. Daha fazla bilgi için, "Vagrantfile Load Order" hakkında bilgi edinin: https://www.vagrantup.com/docs/vagrantfile/#load-order-and-merging

Özetle: Vagrant, birden fazla Vagrant dosyasını belirli bir sırayla yükler ve yapılandırmaları birleştirir. Vagrantfile kutusu, kök Vagrantfile (vagrant init'dan biri) öncesinde bu işlemin bir parçası olarak yüklenir.

Şu anda vagrant init ile üretilen bir iskelet Vagrant dosyası oluşturmanın yolu yoktur. Paketlenmiş Vagrantfile'a koyduğunuz yapılandırma, bağlantı noktası iletme gibi doğru bir şekilde yüklenmelidir, çünkü yapılandırmalar birleştirildiğinde, tüm bağlantı noktası ileriye doğru eklenmelidir.

Bu gerçekleşmezse, bir hata bildirmeniz gerekir! Fakat bir SO cevabı uğruna, işlerin nasıl olması gerektiği budur.

+0

sadece hızlı bir güncelleme: [Vagrantfile Yük Sipariş] (https://www.vagrantup.com/docs/vagrantfile/#load-order) – eklingen

0

Bu kod benim için çalıştı

vagrant package --output vagrant_example.box 
İlgili konular