วิธีการใช้ Vagrant และ Docker-for-Windows บนระบบ Hyper-V


12

ย้อนกลับไปในวันนี้ฉันใช้VirtualBox (VB)และVagrant (V)เพื่อเรียกใช้ VMs ตั้งแต่ผมติดตั้งนักเทียบท่าสำหรับ Windows (DFW)และเรียกใช้ V, VB บ่นเกี่ยวกับHyper-V (HV)

[user@localhost ~]$ vagrant up
Stderr: VBoxManage.exe: error: VT-x is not available (VERR_VMX_NO_VMX)
VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component
ConsoleWrap, interface IConsole

แม้ว่าลิงค์นี้จะระบุว่า V รองรับ HV แต่ข้อความแสดงข้อผิดพลาดข้างต้นนั้นขัดแย้งกัน ทำไม VB จึงดูไม่เข้ากันกับ HV ทำไม V บอกว่ามันรองรับ HV และวิธีการป้องกันไม่ให้ HV นั้นต้องถูกปิดใช้งานเพื่อใช้ V อีกครั้ง

| Product    | Version |
|:-----------|--------:|
| Vagrant    |   2.0.1 |
| VirtualBox |   5.2.4 |
| Windows    |      10 | 

อภิปรายผล

คำแนะนำในการเปิดและปิด Hyper-Vไม่ใช่โซลูชันที่ต้องการเนื่องจากใช้เวลานาน

หากเป็นไปได้ที่จะเรียกใช้ V และ DfW ในระบบเดียวกันโดยการแทนที่ VB นี่อาจเป็นตัวเลือก

คำตอบ:


9

ได้รับการยืนยันโดยคำตอบนี้เกี่ยวกับการอ้างอิง ดังนั้นtechnet ของ Microsoftเมื่อเปิดใช้งาน Hyper-V มันจะปิดบังคำสั่ง VT-X ของโปรเซสเซอร์ไปยังระบบปฏิบัติการที่อยู่ด้านบนของมันและหน้าต่างทำงานเหมือนแขก

ตัวเชื่อมต่อสำหรับ Windows ต้องการไฮเปอร์ -V ในการทำงานดังนั้นการปิดใช้งานไม่ใช่ตัวเลือกจริงๆ

ไม่มีวิธีใดที่จะให้กล่องเสมือนทำงานอยู่ด้านบนของ Hyper-V และเป็นเรื่องปกติคุณไม่ควรเรียกใช้ไฮเปอร์ไวเซอร์ภายในไฮเปอร์ไวเซอร์พวกเขาจะต่อสู้เพื่อดัดแปลงฮาร์ดแวร์ตามมาตรฐาน

วิธีแก้ปัญหาที่ดีที่สุดในความคิดของฉันคือการสร้างเครื่องเสมือน Hyper-V จากคนพเนจรกับผู้ให้บริการ Hyper-Vแทนเครื่องตู้เสมือนวิธีที่คุณสามารถสร้าง VM หรือภาชนะในช่วงเดียวกัน

หมายเหตุด้านคนจรจัดมีหมายเหตุเกี่ยวกับเรื่องนี้ในหน้าเอกสารคู่มือผู้ให้บริการไฮเปอร์ - วี (พบในขณะค้นหาลิงก์เพื่อเพิ่มด้านบน):

คำเตือน : การเปิดใช้งาน Hyper-V จะทำให้ VirtualBox, VMware และเทคโนโลยีการจำลองเสมือนอื่น ๆ ไม่ทำงานอีกต่อไป ดูโพสต์บล็อกนี้สำหรับวิธีการง่ายๆในการสร้างรายการบูตเพื่อบูต Windows โดยไม่เปิดใช้งาน Hyper-V หากมีบางครั้งคุณจะต้องใช้ไฮเปอร์ไวเซอร์อื่น ๆ


0

ข้าง Vagrant คุณสามารถใช้ 'Docker Toolbox' ดั้งเดิมของโรงเรียนเก่าแทน 'Docker for Windows' นั่นหมายความว่า Docker จะทำงานช้าตั้งแต่ทำงานใน Linux VM ฉันเชื่อ https://docs.docker.com/toolbox/toolbox_install_windows/ นอกจากนี้ใช่ฉันได้ทำการรีสตาร์ทเครื่องคอมพิวเตอร์ทุกอย่างที่ฉันต้องการ HyperV สำหรับ Docker หรือลบออกเมื่อฉันต้องการคนจรจัด

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