Bagaimana cara menambahkan file .box yang diunduh ke Vagrant?


115

Bagaimana cara menambahkan .boxfile yang diunduh ke daftar kotak yang tersedia milik Vagrant? The .boxfile terletak pada drive eksternal.

Saya mencoba menjalankan vagrant box add my-box d:/path/to/box, tetapi Vagrant menafsirkan jalur sebagai URL.


Bisakah Anda memposting seluruh output bersama dengan versi gelandangan? Secara teoritis penambahan kotak gelandangan harus bekerja seperti pesona dengan jalur file lokal
Emyl

3
Saya menggunakan Ubuntu, dan vagrant box add my-box /path/to/file.boxbekerja dengan baik untuk saya.
maan81

Jawaban:


178

Larutan:

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

Harus dalam format URL.


8
bagaimana jika saya menggunakanvagrant box add my-box ./path/to/mybox.box ?
Rakib

Anda juga dapat meneruskan -funtuk memaksanya mengunduh kotak itu lagi, dan menggantinya jika sudah ada. misalnyavagrant box add -f my-box http://some-url
Brad Parks

gelandangan di bawah macos dan linux (2.2.2) bekerja dengan jalur URI nun ke, sehingga file skema: // dapat dihilangkan di sini setidaknya. Mungkin itu perubahan spesifik versi atau spesifik jendelanya, saya lebih mengharapkan yang terakhir
Eugen Mayer

90

Anda dapat mengarahkan ke folder tempat gelandangan dan menyalin file kotak ke lokasi yang sama. Kemudian setelah itu Anda dapat menjalankan sebagai berikut

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

Hanya untuk memeriksa status

vagrant status

saya lakukan vagrant initdan vagrant updan kotak gelandangan saya sedang berjalan. Tapi saya tidak bisa ssh. Ketika saya melakukannya vagrant ssh, mengatakan "Mesin yang Anda coba untuk SSH dikonfigurasi untuk menggunakan otentikasi berbasis kata sandi. Gelandangan tidak dapat memasukkan sandi untuk Anda. Jika Anda diminta untuk memasukkan kata sandi, masukkan kata sandi yang sama dengan Anda. telah dikonfigurasi di Vagrantfile. " sedangkan saya tidak mengkonfigurasi apa pun di file Vagrantfile. Saya hanya menggunakan Vagrantfileyang dibuat secara otomatis vagrant init. Ketika saya cat Vagrantfile, saya tidak melihat apa pun yang disebut kata sandi atau pem atau apa pun
Rakib

Jika vagrant sshmeminta kata sandi, dan kotak dasar yang Anda gunakan bersifat publik, kemungkinan besar kata sandinya adalah vagrant.
Bender the Greatest

Saya memiliki kesalahan yang sama dan kata sandi gelandangan tidak menyelesaikannya
Karim Samir

Kata sandi untuk kotak Microsoft modern.ie adalahPassw0rd!
Redsandro

27

Cobalah untuk mengubah direktori ke tempat .boxdisimpan

Jalankan vagrant box add my-box downloaded.box, ini mungkin berfungsi karena menghindari jalur absolut (pada Windows?).


saya lakukan vagrant initdan vagrant updan kotak gelandangan saya sedang berjalan. Tapi saya tidak bisa ssh. Ketika saya melakukannya vagrant ssh, mengatakan "Mesin yang Anda coba untuk SSH dikonfigurasi untuk menggunakan otentikasi berbasis kata sandi. Gelandangan tidak dapat memasukkan sandi untuk Anda. Jika Anda diminta untuk memasukkan kata sandi, masukkan kata sandi yang sama dengan Anda. telah dikonfigurasi di Vagrantfile. " sedangkan saya tidak mengkonfigurasi apa pun di file Vagrantfile. Saya hanya menggunakan Vagrantfileyang dibuat secara otomatis vagrant init. Ketika saya cat Vagrantfile, saya tidak melihat apa pun yang disebut kata sandi atau pem atau apa pun
Rakib

9

Solusi untuk Windows:

  • Buka cmd atau PowerShell sebagai admin
  • CD ke dalam folder yang berisi .boxfile tersebut
  • vagrant box add --name name_of_my_box 'name_of_my_box.box'
  • vagrant box list harus menunjukkan kotak baru dalam daftar

Solusi untuk MAC:

  • Buka terminal
  • CD ke dalam folder yang berisi .boxfile tersebut
  • vagrant box add --name name_of_my_box "./name_of_my_box.box"
  • vagrant box list harus menunjukkan kotak baru dalam daftar

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

Pertama, ganti nama Vagrantfile lalu

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

Hanya untuk memeriksa status

vagrant status

itu saja


3

Alternatifnya untuk menambahkan kotak yang diunduh, file json dengan metadata dapat dibuat. Dengan cara ini beberapa detail tambahan dapat diterapkan. Misalnya untuk mengimpor kotak dan menentukan versinya buat file:

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

Kemudian jalankan vagrant box addperintah dengan parameter:

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

1

Hanya untuk menambahkan deskripsi untuk satu kasus lainnya. Saya harus menginstal konfigurasi berbasis Vagrant Ubuntu 18.04 yang serupa ke beberapa mesin Ubuntu. Mengunduh kotak bionic64 ke satu menggunakan vagrant updengan Vagrantfiletempat kotak ini ditentukan, lalu menyalin folder .vagrant.d/boxes/ubuntu-VAGRANTSLASH-bionic64ke yang lain.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.