【发布时间】:2017-02-24 13:34:10
【问题描述】:
有什么方法可以让 docker 与 virtualbox 或 vmware 工作站一起执行。据我了解,Windows 中的 docker 安装程序需要 Hyper-V,需要为 VirtualBox 或 Workstation 禁用它。
【问题讨论】:
有什么方法可以让 docker 与 virtualbox 或 vmware 工作站一起执行。据我了解,Windows 中的 docker 安装程序需要 Hyper-V,需要为 VirtualBox 或 Workstation 禁用它。
【问题讨论】:
安装最新的 Docker for Windows 和 VirtualBox。当 DfW 询问是否启用 Hyper-V 取消它时,VirtualBox 无法使用它,但您可以使用 docker-machine 和 VirtualBox 驱动程序来运行 docker 容器。我在 VB 中启动 docker 机器时遇到了一些错误,所以这里是完整的指南。
转到命令提示符并发出
docker-machine create -d virtualbox --virtualbox-ui-type "gui" default
您可以查看 boot2docker 引导,但 docker-machine 仍然看不到 IP。 5分钟后它将超时并出现错误 “创建机器时出错:创建机器时驱动程序出错:等待 SSH 可用的重试次数过多。最后一个错误:超过最大重试次数 (60)”。
下一个命令是docker-machine stop default。
下载并启动 Process Explorer,我们将尝试查看给出错误的命令。
当 Process Explorer 打开时,在控制台中发出 docker-machine start default。快速搜索 docker-machine 进程并单击它生成的 ssh.exe 子进程。
然后右键单击它并选择属性并复制命令行文本(提示 HOME、SHIFT+END、CTRL+C)。
我的看起来像:
C:\WINDOWS\System32\OpenSSH\ssh.exe -F /dev/null -o PasswordAuthentication=no -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -o ConnectionAttempts=3 -o ConnectTimeout=10 -o ControlMaster=no -o ControlPath=none docker@127.0.0.1 -o IdentitiesOnly=yes -i C:\Users\zvelj\.docker\machine\machines\default\id_rsa -p 55011 "exit 0"
在"exit 0" 之前添加详细标志-v,这样我们就可以看到错误是什么。就我而言,它是“警告:未受保护的私钥文件!”。
要修复该问题,找到该私钥,右键单击,选择属性,在对话框中转到安全选项卡,高级按钮,将所有者更改为您,禁用继承(全部删除),为您的帐户添加具有完全控制权的新权限条目。
现在发布docker-machine stop default 和docker-machine start default。然后只需按照控制台中的说明进行操作即可。
docker-machine regenerate-certs default
@FOR /f "tokens=*" %i IN ('docker-machine env') DO @%i
要验证运行 docker-machine ls 并在 ACTIVE 列中查找 *。
要将其更改回无头模式,您需要更改“C:\Users{{YOUR USERNAME}}.docker\machine\machines\default\config.json”中的行
"UIType": "guid", 到 "UIType": "headless",
您必须使用 shell 变量
@FOR /f "tokens=*" %i IN ('docker-machine env') DO @%i
为新控制台启用 docker 命令。最好创建一个 bash 脚本,它会自动执行此操作并提供用于启动/停止容器的菜单选项
【讨论】:
我认为唯一的解决方案可能是使用 Docker Toolbox(它使用 Virtualbox)而不是 Docker for Windows ...
https://github.com/docker/for-win/issues/6
引自本期:
我正在关闭这个问题。虽然我们了解请求的背景,但由于上述原因,我们目前没有为 Docker for Windows 提供其他虚拟化后端的具体计划。我们继续为非 Hyper-V 用户提供 Toolbox 和 docker-machine 更新。
【讨论】: