| 特拉維斯CI | 發行 |
|---|---|
XHYVE本機OS X機床管理員的Libmachine驅動程序插件
主分支從Nathanleclaire/Docker-Machine-Xhyve繼承。謝謝@nathanleclaire :)
如果您有問題或拉普雷斯,希望將其發佈到此存儲庫中。

使用Libmachine插件模型進行Docker-Machine-Driver-Xhyve。
請不要將此存儲庫的問題發佈到Docker/Machine,Kubernetes/Minikube和Minishift/Minishift
它將乾擾Docker-Machine,Minikube或Minishift的發展。
如果您懷疑問題,請發布此存儲庫問題。
碼頭機
Minikube
Minishift
使用自製/啤酒:
$ 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#building。
# 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我們使用GLIDE進行依賴管理。
$ go get github.com/Masterminds/glide這將將滑行二進制安裝到$GOPATH/bin中。
更新依賴項
如果您的工作需要更改依賴項,則需要更新GLIDE配置。
make vendor刪除glide.lock並重新創建供應商目錄。 Glide將認識到沒有鎖定文件並重新計算所需的依賴項。glide.yaml和glide.lock文件。注意:在某些情況下,位於〜/.glide/緩存下的GLIDE緩存可能會損壞。如果您在make vendor期間看到滑行錯誤,則可以通過glide cc清除Glide Cache。
| 標誌名稱 | 環境變量 | 類型 | 預設 |
|---|---|---|---|
--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 Boot2Docker映像的URL(路徑)。
默認情況下,使用緩存的ISO文件路徑。
--xhyve-cpu-count使用創建VM的CPU數。
如果設置-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包含文件路徑。
--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構建15E27e具有一個hypervisor.framework錯誤。
這是蘋果的錯誤。
但是,蘋果已被固定構建15E33e 。
如果您在構建15e27e上啟動docker-machine-driver-xhyve ,將顯示
open : no such file or directory並且,在原始xhyve中,
hv_vm_create failed看
我很擔心其他用戶(除了我除外)是否能夠啟動Xhyve。
因此,如果您能夠啟動Xhyve使用Docker-Machine-driver-Xhyve,您可以將報告發佈到此問題線程中嗎?
#18
如果MacOS由Vagrant推出,則可以構建,但將無法啟動該虛擬機管理程序。
原因可能是因為後端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)