| Travis CI | ปล่อย |
|---|---|
ปลั๊กอินไดรเวอร์ libmachine สำหรับ Xhyve Native OS X Hypervisor
สาขาหลักที่สืบทอดมาจาก Nathanleclaire/Docker-Machine-Xhyve ขอบคุณ @nathanleclaire :)
หากคุณมีปัญหาหรือคำตอบแบบดึงต้องการที่จะโพสต์ไปยังที่เก็บนี้

Docker-Machine-Driver-Xhyve โดยใช้โมเดลปลั๊กอิน libmachine
โปรดอย่าโพสต์ปัญหาของที่เก็บนี้ไปยัง Docker/Machine, Kubernetes/Minikube และ Minishift/Minishift
มันจะรบกวนการพัฒนาของ Docker-Machine, Minikube หรือ Minishift
หากคุณมีปัญหาข้อสงสัยเช่นกันโปรดโพสต์ไปยังปัญหาที่เก็บนี้
นักเทียบท่า
ขนาดเล็ก
Minishift
ใช้ Homebrew/Brew:
$ brew install docker-machine-driver-xhyve
# docker-machine-driver-xhyve need root owner and uid
$ sudo chown root:wheel $( brew --prefix ) /opt/docker-machine-driver-xhyve/bin/docker-machine-driver-xhyve
$ sudo chmod u+s $( brew --prefix ) /opt/docker-machine-driver-xhyve/bin/docker-machine-driver-xhyve ใช้ go กับ make :
หากคุณต้องการรองรับรูปแบบภาพดิสก์ Qcow2 ต้องติดตั้ง Mirage/Ocaml-Qcow ดู Docker/Hyperkit#อาคาร
# Need Go 1.5 vendoring support
$ export GO15VENDOREXPERIMENT=1
$ go get -u -d github.com/zchee/docker-machine-driver-xhyve
$ cd $GOPATH /src/github.com/zchee/docker-machine-driver-xhyve
# Install qcow-format for qcow2 disk image format
$ brew install opam libev
$ opam init
$ eval ` opam config env `
$ opam install uri qcow-format io-page.1.6.1 conf-libev
# Install docker-machine-driver-xhyve binary into /usr/local/bin
$ make install
# docker-machine-driver-xhyve need root owner and uid
$ sudo chown root:wheel /usr/local/bin/docker-machine-driver-xhyve
$ sudo chmod u+s /usr/local/bin/docker-machine-driver-xhyveเราใช้ร่อนสำหรับการจัดการการพึ่งพา
$ go get github.com/Masterminds/glide สิ่งนี้จะติดตั้ง Glide Binary เป็น $GOPATH/bin
อัปเดตการพึ่งพา
หากงานของคุณต้องการการเปลี่ยนแปลงการพึ่งพาคุณต้องอัปเดตการกำหนดค่า Glide
glide.lock และสร้างไดเรกทอรีผู้ขายอีกครั้งโดยเรียกใช้ make vendor ร่อนจะรับรู้ว่าไม่มีไฟล์ล็อคและคำนวณการพึ่งพาที่ต้องการอีกครั้งglide.yaml และ glide.lock ที่อัปเดต หมายเหตุ: ในบางกรณีแคชร่อนที่อยู่ภายใต้ ~/.lide/cache อาจเสียหายได้ หากคุณเห็นข้อผิดพลาดร่อนในระหว่าง make vendor คุณสามารถล้างแคชร่อนผ่าน glide cc
| ชื่อธง | ตัวแปรสภาพแวดล้อม | พิมพ์ | ค่าเริ่มต้น |
|---|---|---|---|
--xhyve-boot2docker-url | XHYVE_BOOT2DOCKER_URL | สาย | $HOME/.docker/machine/cache/boot2docker.iso |
--xhyve-cpu-count | XHYVE_CPU_COUNT | int | 1 |
--xhyve-memory-size | XHYVE_MEMORY_SIZE | int | 1024 |
--xhyve-disk-size | XHYVE_DISK_SIZE | int | 20000 |
--xhyve-uuid | XHYVE_UUID | int | '' |
--xhyve-boot-cmd | XHYVE_BOOT_CMD | สาย | ดู Automated_script.md |
--xhyve-boot-kernel | XHYVE_BOOT_KERNEL | สาย | '' |
--xhyve-boot-initrd | XHYVE_BOOT_INITRD | สาย | '' |
--xhyve-qcow2 | XHYVE_QCOW2 | บูล | false |
--xhyve-virtio-9p | XHYVE_VIRTIO_9P | บูล | false |
--xhyve-experimental-nfs-share | XHYVE_EXPERIMENTAL_NFS_SHARE | สาย | เส้นทางไปยังโฟลเดอร์โฮสต์ที่จะแชร์ภายในแขก |
--xhyve-experimental-nfs-share-root | XHYVE_EXPERIMENTAL_NFS_SHARE_ROOT | สาย | เส้นทางรูทที่ NFS จะติดตั้ง |
--xhyve-boot2docker-url URL (เส้นทาง) ของอิมเมจ boot2docker
โดยค่าเริ่มต้นให้ใช้เส้นทางไฟล์ ISO ที่แคช
--xhyve-cpu-count จำนวนซีพียูที่ใช้สร้าง VM
หากตั้งค่า -1 ให้ใช้ CPU แบบลอจิคัลที่ใช้งานได้โดยกระบวนการปัจจุบัน
--xhyve-memory-sizeขนาดของหน่วยความจำสำหรับแขก
--xhyve-disk-sizeขนาดของดิสก์สำหรับแขก (MB)
--xhyve-uuid UUID สำหรับเครื่อง
โดยค่าเริ่มต้นสร้างและใช้ UUID แบบสุ่ม ดู xhyve/uuid.go
--xhyve-boot-cmd การบูตคำสั่ง xhyve kexec
โดยค่าเริ่มต้นใช้
loglevel=3 user=docker console=ttyS0 console=tty0 noembed nomodeset norestore waitusb=10 base host=boot2docker
--xhyve-boot-kernel การบูตเส้นทางไฟล์เคอร์เนล
โดยค่าเริ่มต้นจะวิเคราะห์เส้นทางไฟล์โดยอัตโนมัติโดยใช้ (vmlinu[xz]|bzImage)[d]*
--xhyve-boot-initrd การบูตพา ธ ไฟล์ Initrd
โดยค่าเริ่มต้นจะวิเคราะห์ initrd โดยอัตโนมัติจะมีเส้นทางไฟล์
--xhyve-qcow2 ใช้รูปแบบดิสก์ qcow2
หากคุณใช้ minikube การสนับสนุน CONFIG_VIRTIO_BLK=y จะรวมอยู่ใน minikube-iso เป็นรุ่น v0.0.6
--xhyve-rawdiskใช้รูปแบบ 'ดิสก์ดิบ' อย่างง่ายและไดรเวอร์ Virtio-Blk สำหรับจัดเก็บข้อมูล ซึ่งอาจเร็วขึ้นอย่างมากสำหรับแอปพลิเคชันที่เข้มข้นของ I/O ซึ่งค่าใช้จ่ายที่อาจเกิดขึ้นจากความทนทานของข้อมูล
--xhyve-virtio-9p เปิดใช้งานการแชร์โฟลเดอร์ virtio-9p
หากคุณใช้ Docker-Machine การสนับสนุน CONFIG_NET_9P=y จะรวมอยู่ใน boot2docker เป็นเวอร์ชัน v1.10.2
--xhyve-experimental-nfs-share /path/to/host/folder แชร์ path/to/host/folder ภายในแขกที่เส้นทางที่ระบุโดย --xhyve-experimental-nfs-share-root (ซึ่งตัวเองเริ่มต้นเป็น /xhyve-nfsshares )
สามารถระบุได้หลายครั้ง
--xhyve-experimental-nfs-share-root /path โดยค่าเริ่มต้นการแชร์ NFS จะถูกติดตั้งในแขกที่ /xhyve-nfsshares
คุณสามารถเปลี่ยนค่าเริ่มต้นนี้ได้โดยการระบุ --xhyve-experimental-nfs-share-root /path /path เป็นเส้นทางไปยังรูท
ปัจจุบัน docker-machine-driver-xhyve ไม่ได้ทำความสะอาด dhcpd_leases
ชอบ,
# Running xhyve vm. for example, assign 192.168.64.1
$ docker-machine create --driver xhyve xhyve-test
|
# Send ACPI signal(poweroff) signal over the ssh
$ docker-machine rm xhyve-test
|
# Re-create xhyve vm, will assign 192.168.64.2
docker-machine create --driver xhyve xhyve-test มันจะมอบหมายให้ 192.168.64 2 . หากสร้าง VM อื่นที่ได้รับมอบหมายให้ 192.168.64 3 .
แต่ 192.168.64 1 ไม่ได้ใช้ใคร
vmnet.framework ดูเหมือนว่าจะมีการตัดสินใจ IP ตามไฟล์ด้านล่าง
/var/db/dhcpd_leases/Library/Preferences/SystemConfiguration/com.apple.vmnet.plist ดังนั้นหากคุณต้องการรีเซ็ตฐานข้อมูล IP โปรดลบออกด้วยตนเอง แต่ มีความเสี่ยงมาก
โปรดทราบว่าช่วงที่อยู่ที่ใช้ร่วมกัน vmnet.framework คือ 192.168.64.1 ~ 192.168.64.255 คุณสามารถสร้าง 255 VM
ฉันจะใช้กระบวนการทำความสะอาดหลังจากทำความเข้าใจ vmnet.framework
Mac OS X 10.11.4 Build 15E27e มี ข้อผิดพลาด hypervisor.framework
นี่คือข้อผิดพลาดของ Apple
แต่แอปเปิ้ลได้รับการแก้ไขการสร้าง 15E33e
หากคุณเปิดตัว docker-machine-driver-xhyve บน Build 15E27E จะแสดง
open : no such file or directory และใน xhyve ดั้งเดิม
hv_vm_create failedดู
ฉันกังวลมากว่าผู้ใช้รายอื่น (ยกเว้นฉัน) สามารถเปิดตัว Xhyve ได้หรือไม่
ดังนั้นหากคุณสามารถเปิดตัว Xhyve ใช้ Docker-Machine-Driver-Xhyve คุณสามารถโพสต์รายงานไปยังเธรดปัญหานี้ได้หรือไม่?
#18
หาก MacOS เปิดตัวโดย Vagrant สามารถสร้างได้ แต่จะไม่สามารถเปิดตัว Hypervisor ได้
สาเหตุอาจเป็นเพราะแบ็กเอนด์ VM (VirtualBox, VMware, Parallels ... ) เพื่อซ่อนข้อมูล CPU
ในกรณีของ VMware
$ system_profiler SPHardwareDataType
system_profiler[458:1817] platformPluginDictionary: Can ' t get X86PlatformPlugin, return value 0
system_profiler[458:1817] platformPluginDictionary: Can ' t get X86PlatformPlugin, return value 0
Hardware:
Hardware Overview:
Model Name: Mac
Model Identifier: VMware7,1
// Where is " Processor Name: " field ?
Processor Speed: 2.19 GHz
Number of Processors: 1
Total Number of Cores: 1
L2 Cache: 256 KB
L3 Cache: 6 MB
Memory: 2 GB
Boot ROM Version: VMW71.00V.0.B64.1505060256
SMC Version (system): 1.16f8
Serial Number (system): ************
Hardware UUID: ******** - **** - **** - **** - ************
$ git clone https://github.com/mist64/xhyve && cd xhyve
$ make
$ ./xhyverun.sh
vmx_init: processor not supported by Hypervisor.framework
Unable to create VM (-85377018)