| 特拉维斯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)