Come aggiungere un file .box scaricato a Vagrant?


115

Come aggiungo un .boxfile scaricato all'elenco delle caselle disponibili di Vagrant? Il .boxfile si trova su un'unità esterna.

Ho provato a correre vagrant box add my-box d:/path/to/box, ma Vagrant interpreta il percorso come un URL.


Potresti postare l'intero output insieme alla versione vagabonda? Teoricamente, l'aggiunta di una scatola vagabonda dovrebbe funzionare come un incantesimo con percorsi di file locali
Emyl

3
Sono in Ubuntu e ha vagrant box add my-box /path/to/file.boxfunzionato bene per me.
maan81

Risposte:


178

Soluzione:

vagrant box add my-box file:///d:/path/to/file.box

Deve essere in un formato URL.


8
cosa succede se usovagrant box add my-box ./path/to/mybox.box ?
Rakib

puoi anche passare -fper forzare il download della scatola e sostituirla se esiste già. ad esempiovagrant box add -f my-box http://some-url
Brad Parks

vagrant sotto macos e linux (2.2.2) funziona con un percorso URI nun, quindi il file schema: // può essere omesso almeno qui. Forse che una modifica specifica della versione o delle sue finestre specifiche, piuttosto mi aspetto quest'ultima
Eugen Mayer

90

Puoi puntare alla cartella in cui vagabonda e copiare il file della scatola nella stessa posizione. Quindi dopo puoi eseguire come segue

vagrant box add my-box name-of-the-box.box
vagrant init my-box
vagrant up

Solo per controllare lo stato

vagrant status

l'ho fatto vagrant inite la vagrant upmia scatola vagabonda sta funzionando. Ma non posso ssh. Quando lo faccio vagrant sshdice "La macchina su cui stai tentando di accedere a SSH è configurata per utilizzare l'autenticazione basata su password. Vagrant non può scrivere la password per te. Se ti viene richiesta una password, inserisci la stessa password hanno configurato nel Vagrantfile. " mentre non ho configurato nulla nel file Vagrantfile. Sto solo usando quello su Vagrantfilecui è stato creato automaticamente vagrant init. Quando io cat Vagrantfile, non vedo nulla chiamato password o pem o altro
Rakib

Se vagrant sshstai chiedendo una password e la casella di base che stai utilizzando è pubblica, è probabile che la password lo sia vagrant.
Bender the Greatest

Ho lo stesso errore e la password vagrant non l'ha risolto
Karim Samir

La password per le caselle Microsoft modern.ie èPassw0rd!
Redsandro

27

Prova a cambiare la directory in cui .boxè stato salvato

Esegui vagrant box add my-box downloaded.box, potrebbe funzionare in quanto evita il percorso assoluto (su Windows?).


l'ho fatto vagrant inite la vagrant upmia scatola vagabonda sta funzionando. Ma non posso ssh. Quando lo faccio vagrant sshdice "La macchina su cui stai tentando di accedere a SSH è configurata per utilizzare l'autenticazione basata su password. Vagrant non può scrivere la password per te. Se ti viene richiesta una password, inserisci la stessa password che hai hanno configurato nel Vagrantfile. " mentre non ho configurato nulla nel file Vagrantfile. Sto solo usando quello su Vagrantfilecui è stato creato automaticamente vagrant init. Quando io cat Vagrantfile, non vedo nulla chiamato password o pem o altro
Rakib

9

Soluzione per Windows:

  • Apri cmd o PowerShell come amministratore
  • CD nella cartella contenente il .boxfile
  • vagrant box add --name name_of_my_box 'name_of_my_box.box'
  • vagrant box list dovrebbe mostrare la nuova casella nell'elenco

Soluzione per MAC:

  • Apri terminale
  • CD nella cartella contenente il .boxfile
  • vagrant box add --name name_of_my_box "./name_of_my_box.box"
  • vagrant box list dovrebbe mostrare la nuova casella nell'elenco

3
F:\PuppetLab\src\boxes>vagrant box add precise32 file:///F:/PuppetLab/src/boxes/precise32.box
==> box: Adding box 'precise32' (v0) for provider:
    box: Downloading: file:///F:/PuppetLab/src/boxes/precise32.box
    box: Progress: 100% (Rate: 1200k/s, Estimated time remaining: --:--:--)
==> box: Successfully added box 'precise32' (v0) for 'virtualbox'!

3

Prima rinomina il file Vagrant, quindi

vagrant box add new-box name-of-the-box.box
vagrant init new-box
vagrant up

Solo per controllare lo stato

vagrant status

È tutto


3

In alternativa per aggiungere una casella scaricata, è possibile creare un file json con metadati. In questo modo possono essere applicati alcuni dettagli aggiuntivi. Ad esempio, per importare la casella e specificarne la versione, creare il file:

{
  "name": "laravel/homestead",
  "versions": [
    {
      "version": "7.0.0",
      "providers": [
        {
          "name": "virtualbox",
          "url": "file:///path/to/box/virtualbox.box"
        }
      ]
    }
  ]
}

Quindi eseguire il vagrant box addcomando con il parametro:

vagrant box add laravel/homestead /path/to/metadata.json

1

Solo per aggiungere una descrizione per un altro caso. Devo installare configurazioni simili basate su Vagrant Ubuntu 18.04 su più macchine Ubuntu. Scatola bionic64 scaricata su una che utilizza vagrant upcon Vagrantfiledove è stata specificata questa casella, quindi la cartella copiata .vagrant.d/boxes/ubuntu-VAGRANTSLASH-bionic64su altri.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.