จะเพิ่มไฟล์. box ที่ดาวน์โหลดไปยัง Vagrant ได้อย่างไร?


115

ฉันจะเพิ่ม.boxไฟล์ที่ดาวน์โหลดไปยังรายการกล่องที่มีอยู่ของ Vagrant ได้อย่างไร .boxไฟล์ตั้งอยู่บนไดรฟ์ภายนอก

ฉันพยายามรันvagrant box add my-box d:/path/to/boxแต่ Vagrant ตีความเส้นทางเป็น URL


คุณช่วยโพสต์ผลลัพธ์ทั้งหมดพร้อมกับเวอร์ชันพเนจรได้ไหม การเพิ่มกล่องคนจรจัดในทางทฤษฎีควรใช้งานได้ดีกับเส้นทางไฟล์ในเครื่อง
Emyl

3
ฉันอยู่ใน Ubuntu และvagrant box add my-box /path/to/file.boxทำงานได้ดีสำหรับฉัน
maan81

คำตอบ:


179

สารละลาย:

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

ต้องอยู่ในรูปแบบ URL


8
จะเกิดอะไรขึ้นถ้าฉันใช้vagrant box add my-box ./path/to/mybox.box ?
Rakib

คุณยังสามารถส่งผ่าน-fเพื่อบังคับให้ดาวน์โหลดกล่องอีกครั้งและแทนที่หากมีอยู่แล้ว เช่นvagrant box add -f my-box http://some-url
Brad Parks

คนจรจัดภายใต้ macos และ linux (2.2.2) ทำงานร่วมกับพา ธ nun URI ไปยังไฟล์ Scheme: // สามารถละเว้นได้ที่นี่อย่างน้อย อาจจะเป็นการเปลี่ยนแปลงเฉพาะรุ่นหรือเฉพาะหน้าต่างฉันค่อนข้างคาดหวังว่ารุ่นหลัง
Eugen Mayer

90

คุณสามารถชี้ไปที่โฟลเดอร์ที่คนจรจัดและคัดลอกไฟล์กล่องไปยังตำแหน่งเดียวกัน หลังจากนั้นคุณอาจเรียกใช้ดังนี้

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

เพื่อตรวจสอบสถานะ

vagrant status

ฉันทำvagrant initและvagrant upกล่องคนจรจัดของฉันกำลังทำงานอยู่ แต่ฉันไม่สามารถ ssh เมื่อฉันvagrant sshพูดว่า "เครื่องที่คุณกำลังพยายาม SSH เข้าได้รับการกำหนดค่าให้ใช้การตรวจสอบความถูกต้องด้วยรหัสผ่าน Vagrant ไม่สามารถเขียนสคริปต์ป้อนรหัสผ่านให้คุณได้หากคุณได้รับแจ้งให้ป้อนรหัสผ่านโปรดป้อนรหัสผ่านเดียวกันกับคุณ ได้กำหนดค่าไว้ใน Vagrantfile " ในขณะที่ฉันไม่ได้กำหนดค่าอะไรเลยในไฟล์Vagrantfile. ฉันเพียงแค่ใช้ที่ได้สร้างขึ้นโดยอัตโนมัติเมื่อVagrantfile vagrant initเมื่อฉันcat Vagrantfileฉันไม่เห็นสิ่งที่เรียกว่ารหัสผ่านหรือ pem หรืออะไรเลย
Rakib

หากจะขอรหัสผ่านและกล่องฐานที่คุณใช้เป็นแบบสาธารณะโอกาสที่รหัสผ่านvagrant ssh vagrant
Bender the Greatest

ฉันมีข้อผิดพลาดเดียวกันและคนจรจัดรหัสผ่านไม่สามารถแก้ไขได้
Karim Samir

รหัสผ่านสำหรับกล่องmodern.ie Microsoft คือPassw0rd!
Redsandro

27

พยายามเปลี่ยนไดเร็กทอรีเป็นตำแหน่งที่.boxบันทึก

เรียกใช้vagrant box add my-box downloaded.boxสิ่งนี้อาจใช้งานได้เนื่องจากหลีกเลี่ยงเส้นทางที่แน่นอน (บน Windows?)


ฉันทำvagrant initและvagrant upกล่องคนจรจัดของฉันกำลังทำงานอยู่ แต่ฉันไม่สามารถ ssh เมื่อฉันvagrant sshพูดว่า "เครื่องที่คุณกำลังพยายาม SSH เข้าได้รับการกำหนดค่าให้ใช้การตรวจสอบความถูกต้องด้วยรหัสผ่าน Vagrant ไม่สามารถเขียนสคริปต์ป้อนรหัสผ่านให้คุณได้หากคุณได้รับแจ้งให้ป้อนรหัสผ่านโปรดป้อนรหัสผ่านเดียวกันกับคุณ ได้กำหนดค่าไว้ใน Vagrantfile " ในขณะที่ฉันไม่ได้กำหนดค่าอะไรเลยในไฟล์Vagrantfile. ฉันเพียงแค่ใช้ที่ได้สร้างขึ้นโดยอัตโนมัติเมื่อVagrantfile vagrant initเมื่อฉันcat Vagrantfileฉันไม่เห็นสิ่งที่เรียกว่ารหัสผ่านหรือ pem หรืออะไรเลย
Rakib

9

โซลูชันสำหรับ Windows:

  • เปิด cmd หรือ powershell ในฐานะผู้ดูแลระบบ
  • ซีดีลงในโฟลเดอร์ที่มี.boxไฟล์
  • vagrant box add --name name_of_my_box 'name_of_my_box.box'
  • vagrant box list ควรแสดงกล่องใหม่ในรายการ

โซลูชันสำหรับ MAC:

  • เปิดเทอร์มินัล
  • ซีดีลงในโฟลเดอร์ที่มี.boxไฟล์
  • vagrant box add --name name_of_my_box "./name_of_my_box.box"
  • vagrant box list ควรแสดงกล่องใหม่ในรายการ

4

อีกวิธีหนึ่งในการเพิ่มกล่องดาวน์โหลดไฟล์ json ที่มีข้อมูลเมตาสามารถสร้างได้ วิธีนี้สามารถใช้รายละเอียดเพิ่มเติมบางอย่างได้ ตัวอย่างเช่นเพื่อนำเข้ากล่องและระบุเวอร์ชันสร้างไฟล์:

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

จากนั้นรันvagrant box addคำสั่งด้วยพารามิเตอร์:

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

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

ก่อนอื่นให้เปลี่ยนชื่อ Vagrantfile จากนั้น

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

เพื่อตรวจสอบสถานะ

vagrant status

นั่นคือทั้งหมด


1

เพียงเพื่อเพิ่มคำอธิบายสำหรับอีกกรณีหนึ่ง ฉันต้องติดตั้งการกำหนดค่าตาม Vagrant Ubuntu 18.04 ที่คล้ายกันกับเครื่อง Ubuntu หลายเครื่อง ดาวน์โหลดกล่อง bionic64 ถึงหนึ่งใช้vagrant upกับVagrantfileที่ช่องนี้ถูกระบุไว้แล้วคัดลอกโฟลเดอร์.vagrant.d/boxes/ubuntu-VAGRANTSLASH-bionic64กับคนอื่น ๆ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.