甲骨文VirtualBox
预计阅读时间:5分钟
使用VirtualBox在本地创建计算机。该驱动程序需要在主机上安装VirtualBox 5+。使用VirtualBox 4.3+应该可以,但是会发出警告。较旧的版本不起作用。
用法
$ docker-machine create --driver=virtualbox vbox-test
您可以创建全新的计算机,也可以通过导入VM将Boot2Docker VM转换为计算机。要转换Boot2Docker VM,请使用以下命令:
$ docker-machine create -d virtualbox --virtualbox-import-boot2docker-vm boot2docker-vm b2d
可以通过以下方式配置VM磁盘的大小:
$ docker-machine create -d virtualbox --virtualbox-disk-size "100000" large
选项
--virtualbox-boot2docker-url
:boot2docker映像的URL。默认为最新的可用版本。--virtualbox-cpu-count
:用于创建VM的CPU数量。默认为单CPU。--virtualbox-disk-size
:主机的磁盘大小,以MB为单位。--virtualbox-host-dns-resolver
:使用主机DNS解析器。(布尔值,默认为false)--virtualbox-hostonly-cidr
:仅主机适配器的CIDR。--virtualbox-hostonly-nicpromisc
:仅主机网络适配器混杂模式。可能的选项是deny,allow-vms,allow-all--virtualbox-hostonly-nictype
:仅主机网络适配器类型。可能的值为'82540EM'(Intel PRO / 1000),'Am79C973'(PCnet-FAST III)和'virtio'半虚拟化网络适配器。--virtualbox-hostonly-no-dhcp
:禁用仅主机DHCP服务器--virtualbox-import-boot2docker-vm
:要导入的Boot2Docker VM的名称。--virtualbox-memory
:主机的内存大小,以MB为单位。--virtualbox-nat-nictype
:指定NAT网络适配器类型。可能的值为'82540EM'(Intel PRO / 1000),'Am79C973'(PCnet-FAST III)和'virtio'半虚拟化网络适配器。--virtualbox-no-dns-proxy
:禁用将所有DNS请求代理到主机(布尔值,默认为false)--virtualbox-no-share
:禁用主目录的挂载--virtualbox-no-vtx-check
:在启动虚拟机之前,禁用检查硬件虚拟化的可用性--virtualbox-share-folder
:挂载指定目录而不是默认主目录。-
--virtualbox-ui-type
:指定用户界面类型:(guisdl 无头 分离)
该--virtualbox-boot2docker-url
标志采用几种不同的形式。默认情况下,如果没有为此标志指定值,则Machine会在本地检查boot2docker ISO。如果找到一个,则用作创建的计算机的ISO。如果未找到,则会下载boot2docker / boot2docker上可用的最新ISO版本,
并将其存储在本地以供将来使用。因此,docker-machine upgrade
如果要更新“缓存的” boot2docker ISO ,则必须在计算机上有意运行
。
这是默认行为(when --virtualbox-boot2docker-url=""
),但是该选项还支持通过http://
和file://
协议指定ISO 。
file://
查看本地指定的路径以找到ISO:例如,您可以指定--virtualbox-boot2docker-url
file://$HOME/Downloads/rc.iso
测试已经下载的发行候选ISO。您也可以使用http://
表格直接从Internet获得ISO 。
要自定义仅主机适配器,可以使用该--virtualbox-hostonly-cidr
标志。这将指定主机IP,并且计算机将计算VirtualBox DHCP服务器地址(介于.1
和之间的子网上的随机IP .25
),因此它不会与指定的主机IP冲突。机器指定DHCP的下限.100
和上限.254
。例如,指定的CIDR192.168.24.1/24
将在192.168.24.2-25
的下限192.168.24.100
和的上限之间具有DHCP服务器192.168.24.254
。
使用标记--virtualbox-share-folder
,您可以指定主机与创建的计算机共享的文件夹。格式为local-folder:machine-folder
。例如,\\?\C:\docker-share:\home\users\
。如果从Windows cmd使用docker-machine在docker-toolbox中指定该标志,则其外观类似于
C:\docker-share\\:/home/users
。该:
标志需要逃脱。
环境变量和默认值
CLI选项 | 环境变量 | 默认 |
---|---|---|
--virtualbox-boot2docker-url |
VIRTUALBOX_BOOT2DOCKER_URL |
最新的boot2docker URL |
--virtualbox-cpu-count |
VIRTUALBOX_CPU_COUNT |
1 |
--virtualbox-disk-size |
VIRTUALBOX_DISK_SIZE |
20000 |
--virtualbox-host-dns-resolver |
VIRTUALBOX_HOST_DNS_RESOLVER |
false |
--virtualbox-hostonly-cidr |
VIRTUALBOX_HOSTONLY_CIDR |
192.168.99.1/24 |
--virtualbox-hostonly-nicpromisc |
VIRTUALBOX_HOSTONLY_NIC_PROMISC |
deny |
--virtualbox-hostonly-nictype |
VIRTUALBOX_HOSTONLY_NIC_TYPE |
82540EM |
--virtualbox-hostonly-no-dhcp |
VIRTUALBOX_HOSTONLY_NO_DHCP |
false |
--virtualbox-import-boot2docker-vm |
VIRTUALBOX_BOOT2DOCKER_IMPORT_VM |
boot2docker-vm |
--virtualbox-memory |
VIRTUALBOX_MEMORY_SIZE |
1024 |
--virtualbox-nat-nictype |
VIRTUALBOX_NAT_NICTYPE |
82540EM |
--virtualbox-no-dns-proxy |
VIRTUALBOX_NO_DNS_PROXY |
false |
--virtualbox-no-share |
VIRTUALBOX_NO_SHARE |
false |
--virtualbox-no-vtx-check |
VIRTUALBOX_NO_VTX_CHECK |
false |
--virtualbox-share-folder |
VIRTUALBOX_SHARE_FOLDER |
-- |
--virtualbox-ui-type |
VIRTUALBOX_UI_TYPE |
headless |
已知的问题
Vboxfs遭受了一个长期的错误,该错误 导致sendfile(2)提供缓存的文件内容。
使用Web服务器(例如Nginx)从共享卷提供静态文件时,这会导致问题。对于开发环境,一个好的解决方法是在服务器配置中禁用sendfile。
。计算机,Oracle VirtualBox,驱动程序;