2017-09-01 2 views
0

SO viele Artikel zu diesem Thema, die nicht funktionieren oder Misconfigs nicht wiederherstellen können. Vielleicht alle Boxen zu löschen und wieder würde helfen, beginnen aber Vagrant sagt, sie kann nicht einmal wieVagrant create basis box

nach der Identifizierung unter Verwendung Dinge gefunden/zerstört werden
vagrant box list 

Ich versuche, eine so einfache Anforderung acheive - verwenden Ubuntu Server LTS, Setup Nginx, PHP , MySQL. Konfigurieren Sie Nginx, um eine HTML- und PHPinfo.php-Testseite anzuzeigen.

Verpacken Sie diese Box, damit ich eine vorhandene Webdev VM, die eingerichtet und funktioniert, wiederverwenden kann.

Vagrant ignoriert fortlaufend die neue verpackte Box und lädt "Standard" trotz der Bearbeitung von Vagrantfile.

Ich habe nichts Funky getan, nur versucht, eine Basisbox von offiziellen ubuntu/xenial64 zu erstellen, bevor ich weitere 2 Tage verschwenden, wo Vagrant Pakete ohne private/öffentliche Schlüssel und nutzlos wird.

Aktuelle Quellen sind wie folgt, aber das ist so schlecht dokumentiert in Bezug auf die Verpackung einer wiederverwendbaren Box, die ich denke, Vagrant ist unbrauchbar.

https://scotch.io/tutorials/how-to-create-a-vagrant-base-box-from-an-existing-one 

#minimise and delete junk 
sudo apt-get clean; 
sudo dd if=/dev/zero of=/EMPTY bs=1M; 
sudo rm -f /EMPTY; 
cat /dev/null > ~/.bash_history && history -c && exit; 

#package it 
vagrant package --output lnmp_1604_70.box 

#add box 
vagrant box add lnmp_1604_70_v01 lnmp_1604_70.box 

vagrant init lnmp_1604_70_v01 

# IMPORTANT - do this before first vagrant up 

config.vm.box = "lnmp_1604_70_v01" 
config.ssh.insert_key = false;# in Vagrantfile 

# It will keep the insecure key in place while prepping your VM for packaging 
# If the key has already been replaced you can restore the default one by editing "~vagrant/.ssh/authorized_keys" and replacing it with # the insecure public key at https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub 

Vagrant 1.9.8

Antwort

0

Das Verfahren bei How to Create a Vagrant Base Box from an Existing One funktioniert perfekt in meine Box beschrieben.

Ich denke, dass nach

vagrant box add lnmp_1604_70_v01 lnmp_1604_70.box 

Sie

vagrant init lnmp_1604_70_v01 

statt laufen haben, wie Sie in Ihrer Frage,

schrieb
vagrant init lnmp_1604_70 
+0

vagrant init lnmp_1604_70_v01 die eigentliche Aussage Lauf war , korrigierte Frage, gut entdeckt tho – Datadimension

+0

Welche Vagrant-Version haben Sie? – gile

+0

Verwenden Sie Virtualbox als Provider? Denn "vagrant package" funktioniert nur mit Virtualbox und Hyper-V. Statt Vagrant können Sie versuchen, Packer zu erstellen, um Computerbild zu erstellen, und dann das Bild in Vagrantbox zu verwandeln, indem Sie der Packer-Buildvorlage einen Postprozessor hinzufügen. Siehe https://www.packer.io/intro/getting-started/vagrant.html. Ich hoffe es hilft. – gile