คัดลอกกล่องคนจรจัดในพื้นที่


27

ฉันมีกล่องคนจรจัดที่ทำงานบน VirtualBox และฉันต้องทำสำเนา (ด้วยการกำหนดค่าและข้อมูลที่มีอยู่ทั้งหมด) เพื่อให้ฉันสามารถเปลี่ยนแปลงได้โดยไม่กระทบกับต้นฉบับ

ปัญหาคือกล่องเดิมของฉันมาเป็นไฟล์แพคเกจ - การเชื่อมต่ออินเทอร์เน็ตที่ฉันใช้งานช้ามากดังนั้นจึงมีคนอื่นคัดลอกโฟลเดอร์คนจรจัดและเวอร์ช่วลบ็อกซ์ไปยังเครื่องของฉัน ดังนั้นจึงไม่มี

config.vm.box_url

ใช้.

ฉันจะทำสิ่งนี้ได้อย่างไร

แก้ไข: ฉันใช้ Vagrant 1.2.2

คำตอบ:


41

สร้างกล่องใหม่จาก vm ปัจจุบันของคุณ:

  • cd ลงในไดเรกทอรีด้วยไฟล์ Vagrant ของคุณ

  • เรียกใช้vagrant packageซึ่งจะส่งออกไฟล์กล่องชื่อ package.box โดยค่าเริ่มต้น

  • วิ่งvagrant box add foo package.boxเพื่อเพิ่ม package.box ไปยังกล่องที่คุณมีอยู่ (สมมติว่าคุณใช้ VirtualBox ไม่ใช่ VMWare)

  • เรียกใช้vagrant box listเพื่อตรวจสอบว่ามีการเพิ่ม

ตอนนี้คุณสามารถสร้างโฟลเดอร์ใหม่ให้ทำงานvagrant initตามปกติและตั้งค่ากล่องของคุณเป็นดังต่อไปนี้:

 config.vm.box = "foo"

VM ใหม่จะหมุนด้วยข้อมูลที่แน่นอนที่มีอยู่ใน VM ก่อนหน้า

เอกสารทางเพศ


นอกจากนี้ชำระเงินสินค้าใหม่จากผู้สร้างของคนจรจัดที่เรียกว่าเกย์ มันจะทำสิ่งเดียวกัน แต่อนุญาตให้คุณคัดลอก vm ของคุณไปยังผู้ให้บริการอื่น ๆ (Amazon, VirtualBox และ .. )

ปรับปรุง

เวอร์ชันที่ใหม่กว่าของ Vagrant มีสองคำสั่งที่ทำให้ขั้นตอนข้างต้นไม่จำเป็น

vagrant share
vagrant package

Vagrant shareจะอัปโหลดของคุณกล่องAtlas
Vagrant packageจะสร้างไฟล์ .box โดยอัตโนมัติ

สำหรับข้อมูลเพิ่มเติมพิมพ์ vagrant --help


ดูเหมือนจะเป็นวิธีที่ดี แต่น่าเสียดายที่ฉันใช้คนพเนจรรุ่นอื่นในขณะที่คำสั่งของคุณดูเหมือนจะเป็น 1.0.x
xiankai

@xiankai ฉันใช้ 1.2.2 และฉันได้ตรวจสอบแล้วว่าขั้นตอนเหล่านี้ใช้ได้สำหรับฉัน ฉันปรับแต่งคำตอบเพื่อความชัดเจนลองอีกครั้งและแจ้งให้เราทราบว่าคุณได้รับข้อผิดพลาดอะไร
spuder

อาหลังจากมองไปที่ลิงค์ที่คุณโพสต์ฉันพยายามvagrant packageแทนvagrant box packageและดูเหมือนว่าฉันจะถูกในขณะนี้!
xiankai

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