| Трэвис CI | Выпуски |
|---|---|
Плагин драйвера либракина для xhyve Native OS X Hypervisor
Мастер-филиал унаследован от Nathanleclaire/Docker-Machine-Xhyve. Спасибо @nathanleclaire :)
Если у вас есть проблемы или запросы, желаемые быть опубликованными в этот репозиторий.

Docker-Machine-Driver-xhyve с использованием модели плагинов либмачина.
Пожалуйста, не публикуйте вопрос этого репозитория в Docker/Machine, Kubernetes/Minikube и Minishift/Minishift
Это будет мешать разработке докеров-машины, Minikube или Minishift.
Если вы тоже были проблемой, пожалуйста, отправьте эту проблему репозитория.
Docker-Machine
Minikube
Минишфт
Используйте 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Мы используем Glide для управления зависимостями.
$ go get github.com/Masterminds/glide Это установит бинарную Glide в $GOPATH/bin .
Обновление зависимостей
Если ваша работа требует изменения зависимостей, вам необходимо обновить конфигурацию Glide.
glide.lock и повторно создайте каталог продавцов, выполняя make vendor . Glide примет участие в том, что нет файла блокировки и пересчитывает требуемые зависимости.glide.yaml и glide.lock . ПРИМЕЧАНИЕ. В некоторых случаях кэш Glide, расположенный под ~/.Glide/Cache, может быть поврежден. Если вы видите ошибки Glide во время make vendor , вы можете очистить кеш скольжения через glide cc .
| Имя флага | Переменная среды | Тип | По умолчанию |
|---|---|---|---|
--xhyve-boot2docker-url | XHYVE_BOOT2DOCKER_URL | нить | $HOME/.docker/machine/cache/boot2docker.iso |
--xhyve-cpu-count | XHYVE_CPU_COUNT | инт | 1 |
--xhyve-memory-size | XHYVE_MEMORY_SIZE | инт | 1024 |
--xhyve-disk-size | XHYVE_DISK_SIZE | инт | 20000 |
--xhyve-uuid | XHYVE_UUID | инт | '' |
--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 Количество процессоров для использования создания виртуальной машины.
Если установлено -1 , используйте логические процессоры, используемые текущим процессом.
--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 для хранения. Это может быть значительно быстрее для интенсивных приложений ввода/вывода при потенциальной стоимости долговечности данных.
--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 будут установлены в госте AT /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 Если создать еще одну виртуальную машину, назначенную 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 Shared Net Address Lange составляет 192.168.64.1 ~ 192.168.64.255 . Вы можете сделать 255 Вм.
Я буду реализовать процесс очистки после понимания vmnet.framework .
Mac OS X 10.11.4 Build 15E27e имеет ошибку Hypervisor.FrameWork .
Это ошибка Apple.
Но 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, запущенный The Vagrant , может быть построен, но не сможет запустить Hypervisor.
Причина, вероятно, потому, что Backend 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)