| Travis CI | Veröffentlichungen |
|---|---|
Libmaachine -Treiber -Plugin für XHYVE Native OS X Hypervisor
Master-Zweig von Nathanleclaire/Docker-Machine-Xhyve geerbt. Danke @nathanleclaire :)
Wenn Sie Probleme oder Ziehrequests haben, möchten Sie in diesem Repository veröffentlicht werden.

Docker-Machine-Fahrer-Xhyve mit Libmaachine-Plugin-Modell.
Bitte veröffentlichen Sie das Problem dieses Repositorys nicht an Docker/Maschine, Kubernetes/Minikube und Minishift/Minishift
Es wird die Entwicklung von Docker-Maschine, Minikube oder Minishift beeinträchtigen.
Wenn Sie auch ein Problem mit Zweifel hatten, veröffentlichen Sie bitte dieses Repository -Problem.
Docker-Maschine
Minikube
Minishift
Verwenden Sie 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 Verwenden Sie go mit make :
Wenn Sie das QCOW2-Festplattenbildformat unterstützen möchten, müssen Sie Mirage/ocaml-qcow installieren. Siehe Docker/Hyperkit#Gebäude.
# 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-xhyveWir verwenden Glide für das Abhängigkeitsmanagement.
$ go get github.com/Masterminds/glide Dadurch wird der Glide -Binärdatum in $GOPATH/bin eingebaut.
Abhängigkeiten aktualisieren
Wenn Ihre Arbeit eine Änderung der Abhängigkeiten erfordert, müssen Sie die Gleitkonfiguration aktualisieren.
glide.lock und erstellen Sie das Lieferantenverzeichnis durch laufende make vendor neu. Glide erkennt, dass es keine Sperrdatei gibt und die erforderlichen Abhängigkeiten neu berechnen.glide.yaml und glide.lock . Hinweis: In einigen Fällen kann der Gleit -Cache unter ~/.glide/Cache beschädigt werden. Wenn Sie während make vendor Gleitfehler sehen, können Sie den Gleit -Cache über glide cc löschen.
| Fahnenname | Umgebungsvariable | Typ | Standard |
|---|---|---|---|
--xhyve-boot2docker-url | XHYVE_BOOT2DOCKER_URL | Saite | $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 | Saite | Siehe automated_script.md |
--xhyve-boot-kernel | XHYVE_BOOT_KERNEL | Saite | '' |
--xhyve-boot-initrd | XHYVE_BOOT_INITRD | Saite | '' |
--xhyve-qcow2 | XHYVE_QCOW2 | bool | false |
--xhyve-virtio-9p | XHYVE_VIRTIO_9P | bool | false |
--xhyve-experimental-nfs-share | XHYVE_EXPERIMENTAL_NFS_SHARE | Saite | Pfad zu einem Hostordner, der im Gast geteilt werden kann |
--xhyve-experimental-nfs-share-root | XHYVE_EXPERIMENTAL_NFS_SHARE_ROOT | Saite | Wurzelpfad, auf dem die NFS -Aktien montiert werden |
--xhyve-boot2docker-url Die URL (Pfad) des Boot2Docker -Bildes.
Verwenden Sie standardmäßig den zwischengespeicherten ISO -Dateipfad.
--xhyve-cpu-count Anzahl der CPUs zur Verwendung des VM erstellen.
Wenn Sie -1 festlegen, verwenden Sie logische CPUs, die vom aktuellen Prozess verwendet werden kann.
--xhyve-memory-sizeGröße des Gedächtnisses für den Gast.
--xhyve-disk-sizeGröße der Festplatte für den Gast (MB).
--xhyve-uuid Die UUID für die Maschine.
Generieren und verwenden Sie standardmäßig zufällig UUID. Siehe xhyve/uuid.go
--xhyve-boot-cmd Booten von XHYVE KEXEC -Befehlen.
Verwenden standardmäßig
loglevel=3 user=docker console=ttyS0 console=tty0 noembed nomodeset norestore waitusb=10 base host=boot2docker
--xhyve-boot-kernel Kernel -Dateipfad booten.
Standardmäßig analysiert der Dateipfad automatisch mit (vmlinu[xz]|bzImage)[d]* .
--xhyve-boot-initrd Booten initrd Dateipfad.
Standardmäßig analysiert der initrd automatisch den Dateipfad.
--xhyve-qcow2 Verwenden Sie qcow2 -Datenträgerformat.
Wenn Sie Minikube verwenden, ist die Unterstützung CONFIG_VIRTIO_BLK=y in der Version V0.0.6 in Minikube-ISO enthalten.
--xhyve-rawdiskVerwenden Sie ein einfaches "Rohdisk" -Format und ein Virtio-Blk-Treiber für die Speicherung. Dies kann für I/A -intensive Anwendungen erheblich schneller sein, was zu den potenziellen Kosten der Datendauerdauer ist.
--xhyve-virtio-9p Aktivieren Sie die Freigabe virtio-9p -Ordner.
Wenn Sie Docker-Machine verwenden, ist die Unterstützung CONFIG_NET_9P=y in Boot2Docker nach Version V1.10.2 enthalten.
--xhyve-experimental-nfs-share /path/to/host/folder Teilen Sie path/to/host/folder im Gast am Pfad durch --xhyve-experimental-nfs-share-root (das selbst standardmäßig an /xhyve-nfsshares ).
Kann mehrmals angegeben werden
--xhyve-experimental-nfs-share-root /path Standardmäßig werden NFS-Aktien im Gast AT /xhyve-nfsshares montiert.
Sie können diese Standardeinstellung ändern, indem --xhyve-experimental-nfs-share-root /path angeben, /path ist ein Pfad zum Wurzel
Derzeit reinigt docker-machine-driver-xhyve die dhcpd_leases nicht.
wie,
# 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 Es wird 192.168.64 zugewiesen. 2 . Wenn Sie eine andere VM erstellen, die 192.168.64 zugewiesen ist. 3 .
Aber 192.168.64. 1 benutzt niemanden.
vmnet.framework scheint die IP basierend auf den folgenden Dateien entschieden zu haben
/var/db/dhcpd_leases/Library/Preferences/SystemConfiguration/com.apple.vmnet.plist Wenn Sie also die IP -Datenbank zurücksetzen möchten, entfernen Sie sie bitte manuell. aber sehr riskant .
Beachten Sie, dass vmnet.framework Shared Net Address -Bereich 192.168.64.1 ~ 192.168.64.255 beträgt. Sie können 255 VM machen.
Ich werde den Reinigungsprozess nach dem Verständnis der vmnet.framework implementieren.
Mac OS X 10.11.4 Build 15E27e hat einen Hypervisor.Framework -Fehler .
Das ist Apples Fehler.
Aber Apple wurde festgestellt, dass 15E33e gebaut wurde.
Wenn Sie den docker-machine-driver-xhyve auf Build 15E27E starten, wird angezeigt
open : no such file or directory und in Original xhyve ,
hv_vm_create failedSehen
Ich bin sehr besorgt, ob andere Benutzer (außer mir) die XHYVE starten können.
Wenn Sie also die XHYVE-Verwendung von Docker-Machine-Triver-Xhyve starten konnten, können Sie dann einen Bericht zu diesem Ausgabe-Thread veröffentlichen?
#18
Wenn MacOS vom Vagrant gestartet werden kann, kann er den Hypervisor nicht starten.
Die Ursache wahrscheinlich, weil Backend VM (VirtualBox, VMware, Parallelen ...) die CPU -Informationen verbergen.
Im Fall von 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)