_我只让这个问题开放了一段时间,如果没有人再报告,我会在关闭前保留几天。 一旦问题再次出现,我将重新打开它。 如果您看到问题已关闭,请随时在下面留下您的问题。_
已解决:首先尝试停止使用--hyperv-memory
因为即使通过 hyper-v-manager 调整它也无法启动您的虚拟机。 此外,您应该明确指定--hyperv-virtual-switch
以允许 docker 正确连接。 如果它仍然不起作用,那么尝试通过 _windows 网络适配器_设置手动删除虚拟交换机桥,并使用 _hyper-v manager_ 再次创建它。
另请参阅下面的另一个解决方案
创建新虚拟机时挂起。
我为 virtualbox 关注了几个类似的问题,比如 #3826,但没有运气。
视窗 10 x64
boot2docker
- v17.11.0-ce
docker
- 17.11.0-ce
所描述的虚拟交换机通过Hyper-V管理使这里
1 安装 docker 并在 windows 功能中启用 hyper-v 功能
2 启用虚拟交换机
3 $ docker-machine create -d hyperv --hyperv-memory 512 vm1
4 永远挂起
我还尝试将--debug
标志与相同的命令一起使用,并得到了这个(可点击的)输出:
Docker 机器版本:0.13.0,构建 9ba6da9 在 C:\Program Files\Docker\Docker\Resources\bin\docker-machine.exe 找到二进制路径 为驱动程序 hyperv 启动插件服务器 插件服务器监听地址 127.0.0.1:56251 () 调用 .GetVersion 使用 API 版本 1 () 调用 .SetConfigRaw () 调用 .GetMachineName (标志查找)调用 .GetMachineName (标志查找)调用 .DriverName (标志查找)调用 .GetCreateFlags 在 C:\Program Files\Docker\Docker\Resources\bin\docker-machine.exe 找到二进制路径 为驱动程序 hyperv 启动插件服务器 插件服务器监听地址 127.0.0.1:56255 () 调用 .GetVersion 使用 API 版本 1 () 调用 .SetConfigRaw () 调用 .GetMachineName (vm1) 调用 .GetMachineName (vm1) 调用 .DriverName (vm1) 调用 .GetCreateFlags (vm1) 调用 .SetConfigFromFlags (vm1) 调用 .PreCreateCheck (vm1) DBG | [执行 ==>] : C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -NonInteractive @(Get-Command Get-VM).ModuleName (vm1) DBG | [标准输出=====>]:Hyper-V (vm1) DBG | (vm1) DBG | [标准错误=====>]: (vm1) DBG | [执行 ==>] : C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -NonInteractive @([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent())。 IsInRole("Hyper-V 管理员") (vm1) DBG | [标准输出=====>]:假 (vm1) DBG | (vm1) DBG | [标准错误=====>]: (vm1) DBG | [执行 ==>] : C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -NonInteractive @([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent())。 IsInRole([Security.Principal.WindowsBuiltInRole]“管理员”) (vm1) DBG | [标准输出=====>]:真 (vm1) DBG | (vm1) DBG | [标准错误=====>]: (vm1) DBG | [执行 ==>] : C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -NonInteractive (Get-VMSwitch).Name (vm1) DBG | [标准输出=====>]:DockerNAT (vm1) DBG | 数字视频系统 (vm1) DBG | (vm1) DBG | [标准错误=====>]: (vm1) DBG | 本地 Boot2Docker ISO 版本:v17.11.0-ce (vm1) 调用 .GetConfigRaw (vm1) 调用 .Create (vm1) DBG | 本地 Boot2Docker ISO 版本:v17.11.0-ce (vm1) DBG | [执行 ==>] : C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -NonInteractive (Get-VMSwitch).Name (vm1) DBG | [标准输出=====>]:DockerNAT (vm1) DBG | 数字视频系统 (vm1) DBG | (vm1) DBG | [标准错误=====>]: (vm1) DBG | [执行 ==>] : C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -NonInteractive @([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent())。 IsInRole([Security.Principal.WindowsBuiltInRole]“管理员”) (vm1) DBG | [标准输出=====>]:真 (vm1) DBG | (vm1) DBG | [标准错误=====>]: (vm1) DBG | [执行 ==>] : C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -NonInteractive New-VHD -Path 'C:\Users\Alex\.docker\machine\machines\vm1\fixed .vhd' -SizeBytes 10MB - 固定 (vm1) DBG | [标准输出=====>]: (vm1) DBG | (vm1) DBG | 计算机名:RHEA (vm1) DBG | 路径:C:\Users\Alex\.docker\machine\machines\vm1\fixed.vhd (vm1) DBG | Vhd格式:VHD (vm1) DBG | VhdType : 固定 (vm1) DBG | 文件大小:10486272 (vm1) DBG | 尺寸:10485760 (vm1) DBG | 最小尺寸: (vm1) DBG | 逻辑扇区大小:512 (vm1) DBG | 物理扇区大小:512 (vm1) DBG | 块大小:0 (vm1) DBG | 父路径: (vm1) DBG | 磁盘标识符:03143A6A-646C-4DDC-AEBA-469A41EC764C (vm1) DBG | 碎片百分比:0 (vm1) DBG | 对齐:1 (vm1) DBG | 附:假的 (vm1) DBG | 磁盘编号: (vm1) DBG | 数字 : (vm1) DBG | (vm1) DBG | (vm1) DBG | (vm1) DBG | (vm1) DBG | [标准错误=====>]: (vm1) DBG | 编写魔术焦油标头 (vm1) DBG | 编写 SSH 密钥 tar 标头 (vm1) DBG | [执行 ==>] : C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -NonInteractive Convert-VHD -Path 'C:\Users\Alex\.docker\machine\machines\vm1\fixed .vhd' -DestinationPath 'C:\Users\Alex\.docker\machine\machines\vm1\disk.vhd' -VHDType 动态 -DeleteSource (vm1) DBG | [标准输出=====>]: (vm1) DBG | [标准错误=====>]: (vm1) DBG | [执行 ==>] : C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -NonInteractive Resize-VHD -Path 'C:\Users\Alex\.docker\machine\machines\vm1\disk .vhd' -SizeBytes 20000MB (vm1) DBG | [标准输出=====>]: (vm1) DBG | [标准错误=====>]: (vm1) DBG | [执行 ==>] : C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -NonInteractive New-VM vm1 -Path 'C:\Users\Alex\.docker\machine\machines\vm1' -SwitchName 'DockerNAT' -MemoryStartupBytes 512MB (vm1) DBG | [标准输出=====>]: (vm1) DBG | 名称 状态 CPUUsage(%) MemoryAssigned(M) Uptime Status Version (vm1) DBG | ---- ----- ----------- ----------------- ------ ------ - ------ (vm1) DBG | vm1 关闭 0 0 00:00:00 正常运行 8.0 (vm1) DBG | (vm1) DBG | (vm1) DBG | (vm1) DBG | [标准错误=====>]: (vm1) DBG | [执行 ==>] : C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -NonInteractive Set-VMDvdDrive -VMName vm1 -Path 'C:\Users\Alex\.docker\machine\machines\ vm1\boot2docker.iso' (vm1) DBG | [标准输出=====>]: (vm1) DBG | [标准错误=====>]: (vm1) DBG | [执行 ==>] : C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -NonInteractive Add-VMHardDiskDrive -VMName vm1 -Path 'C:\Users\Alex\.docker\machine\machines\ vm1\磁盘.vhd' (vm1) DBG | [标准输出=====>]: (vm1) DBG | [标准错误=====>]: (vm1) DBG | [执行 ==>] : C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -NonInteractive Start-VM vm1 (vm1) DBG | [标准输出=====>]: (vm1) DBG | [标准错误=====>]: (vm1) DBG | [执行 ==>] : C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -NonInteractive ( Get-VM vm1 ).state (vm1) DBG | [标准输出=====>]:运行 (vm1) DBG | (vm1) DBG | [标准错误=====>]: (vm1) DBG | [执行 ==>] : C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -NonInteractive (( Get-VM vm1 ).networkadapters[0]).ipaddresses[0] (vm1) DBG | [标准输出=====>]: (vm1) DBG | [标准错误=====>]: (vm1) DBG | [执行 ==>] : C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -NonInteractive ( Get-VM vm1 ).state (vm1) DBG | [标准输出=====>]:运行
我也尝试删除user/.docker/machine/cache/boot2docker.iso
并再次创建 vm 但没有帮助。 反正机器挂了。
我有类似的问题,除了我的机器启动并且它永远不会获得 IP 地址,即使我遵循了文档中的所有内容。
docker --version:Docker 版本 17.12.0-ce-rc3,构建 80c8033
docker-machine --version: docker-machine.exe 版本 0.13.0,构建 9ba6da9
这是边缘,同样的事情发生在稳定。
尽管如此,我注意到由于某种原因我无法运行 Windows 容器,所以看起来我当前的设置有问题。
赢得 10 构建:17025
docker-machine --debug -d "hyperv" --hyperv-virtual-switch "BridgedConnection" worker3
Found binary path at C:\Program Files\Docker\Docker\Resources\bin\docker-machine.exe
Launching plugin server for driver hyperv
Plugin server listening at address 127.0.0.1:49302
() Calling .GetVersion
Using API Version 1
() Calling .SetConfigRaw
() Calling .GetMachineName
(flag-lookup) Calling .GetMachineName
(flag-lookup) Calling .DriverName
(flag-lookup) Calling .GetCreateFlags
Found binary path at C:\Program Files\Docker\Docker\Resources\bin\docker-machine.exe
Launching plugin server for driver hyperv
Plugin server listening at address 127.0.0.1:49306
() Calling .GetVersion
Using API Version 1
() Calling .SetConfigRaw
() Calling .GetMachineName
(worker3) Calling .GetMachineName
(worker3) Calling .DriverName
(worker3) Calling .GetCreateFlags
(worker3) Calling .SetConfigFromFlags
Running pre-create checks...
(worker3) Calling .PreCreateCheck
(worker3) DBG | [executing ==>] : C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -NonInteractive @(Get-Command Get-VM).ModuleName
(worker3) DBG | [stdout =====>] : Hyper-V
(worker3) DBG |
(worker3) DBG | [stderr =====>] :
(worker3) DBG | [executing ==>] : C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -NonInteractive @([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole("Hyper-V Administrators")
(worker3) DBG | [stdout =====>] : False
(worker3) DBG |
(worker3) DBG | [stderr =====>] :
(worker3) DBG | [executing ==>] : C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -NonInteractive @([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")
(worker3) DBG | [stdout =====>] : True
(worker3) DBG |
(worker3) DBG | [stderr =====>] :
(worker3) DBG | [executing ==>] : C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -NonInteractive (Get-VMSwitch).Name
(worker3) DBG | [stdout =====>] : nat
(worker3) DBG | Default Switch
(worker3) DBG | BridgedSwitch
(worker3) DBG |
(worker3) DBG | [stderr =====>] :
(worker3) DBG | local Boot2Docker ISO version: v17.09.1-ce
(worker3) Calling .GetConfigRaw
Creating machine...
(worker3) Calling .Create
(worker3) DBG | local Boot2Docker ISO version: v17.09.1-ce
(worker3) Copying C:\Users\McMau\.docker\machine\cache\boot2docker.iso to C:\Users\McMau\.docker\machine\machines\worker3\boot2docker.iso...
(worker3) Creating SSH key...
(worker3) Creating VM...
(worker3) DBG | [executing ==>] : C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -NonInteractive (Get-VMSwitch).Name
(worker3) DBG | [stdout =====>] : nat
(worker3) Using switch "BridgedSwitch"
(worker3) DBG | Default Switch
(worker3) DBG | BridgedSwitch
(worker3) DBG |
(worker3) DBG | [stderr =====>] :
(worker3) DBG | [executing ==>] : C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -NonInteractive @([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principa
l.WindowsBuiltInRole] "Administrator")
(worker3) DBG | [stdout =====>] : True
(worker3) DBG |
(worker3) DBG | [stderr =====>] :
(worker3) Creating VHD
(worker3) DBG | [executing ==>] : C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -NonInteractive New-VHD -Path 'C:\Users\McMau\.docker\machine\machines\worker3\fixed.vhd' -SizeBytes 10MB -Fixed
(worker3) DBG | [stdout =====>] :
(worker3) DBG |
(worker3) DBG | ComputerName : BIZNISPC
(worker3) DBG | Path : C:\Users\McMau\.docker\machine\machines\worker3\fixed.vhd
(worker3) DBG | VhdFormat : VHD
(worker3) DBG | VhdType : Fixed
(worker3) DBG | FileSize : 10486272
(worker3) DBG | Size : 10485760
(worker3) DBG | MinimumSize :
(worker3) DBG | LogicalSectorSize : 512
(worker3) DBG | PhysicalSectorSize : 512
(worker3) DBG | BlockSize : 0
(worker3) DBG | ParentPath :
(worker3) DBG | DiskIdentifier : 54A43223-9A0E-4E76-B3AF-15AC85F64942
(worker3) DBG | FragmentationPercentage : 0
(worker3) DBG | Alignment : 1
(worker3) DBG | Attached : False
(worker3) DBG | DiskNumber :
(worker3) DBG | IsPMEMCompatible : False
(worker3) DBG | AddressAbstractionType : None
(worker3) DBG | Number :
(worker3) DBG |
(worker3) DBG |
(worker3) DBG |
(worker3) DBG |
(worker3) DBG | [stderr =====>] :
(worker3) DBG | Writing magic tar header
(worker3) DBG | Writing SSH key tar header
(worker3) DBG | [executing ==>] : C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -NonInteractive Convert-VHD -Path 'C:\Users\McMau\.docker\machine\machines\worker3\fixed.vhd' -DestinationPath 'C:\Users\McMau\.docker\machine\machines\worker3\disk.vhd' -VHDType Dynamic -DeleteSource
(worker3) DBG | [stdout =====>] :
(worker3) DBG | [stderr =====>] :
(worker3) DBG | [executing ==>] : C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -NonInteractive Resize-VHD -Path 'C:\Users\McMau\.docker\machine\machines\worker3\disk.vhd' -SizeBytes 20000MB
(worker3) DBG | [stdout =====>] :
(worker3) DBG | [stderr =====>] :
(worker3) DBG | [executing ==>] : C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -NonInteractive New-VM worker3 -Path 'C:\Users\McMau\.docker\machine\machines\worker3' -SwitchName 'BridgedSwitch' -MemoryStartupBytes 1024MB
(worker3) DBG | [stdout =====>] :
(worker3) DBG | Name State CPUUsage(%) MemoryAssigned(M) Uptime Status Version
(worker3) DBG | ---- ----- ----------- ----------------- ------ ------ -------
(worker3) DBG | worker3 Off 0 0 00:00:00 Operating normally 8.2
(worker3) DBG |
(worker3) DBG |
(worker3) DBG |
(worker3) DBG | [stderr =====>] :
(worker3) DBG | [executing ==>] : C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -NonInteractive Set-VMDvdDrive -VMName worker3 -Path 'C:\Users\McMau\.docker\machine\machines\worker3\boot2docker.iso'
(worker3) DBG | [stdout =====>] :
(worker3) DBG | [stderr =====>] :
(worker3) DBG | [executing ==>] : C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -NonInteractive Add-VMHardDiskDrive -VMName worker3 -Path 'C:\Users\McMau\.docker\machine\machines\worker3\disk.vhd'
(worker3) DBG | [stdout =====>] :
(worker3) Starting VM...
(worker3) DBG | [stderr =====>] :
(worker3) DBG | [executing ==>] : C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -NonInteractive Start-VM worker3
(worker3) DBG | [stdout =====>] :
(worker3) DBG | [stderr =====>] :
(worker3) Waiting for host to start...
(worker3) DBG | [executing ==>] : C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -NonInteractive ( Get-VM worker3 ).state
(worker3) DBG | [stdout =====>] : Running
(worker3) DBG |
(worker3) DBG | [stderr =====>] :
(worker3) DBG | [executing ==>] : C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -NonInteractive (( Get-VM worker3 ).networkadapters[0]).ipaddresses[0]
(worker3) DBG | [stdout =====>] :
(worker3) DBG | [stderr =====>] :
(worker3) DBG | [executing ==>] : C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -NonInteractive ( Get-VM worker3 ).state
(worker3) DBG | [stdout =====>] : Running
(worker3) DBG |
@knilecrack
Virtual-V 管理器中的沙箱显示什么? 请制作和分享截图。
似乎 vm 无法连接到网络,因为没有分配 ip 或 vm 无法正常启动。
你是这个意思吗? https://1drv.ms/u/s!AtmVXevYpYur6j6WHvexC6ShiqkO
所以基本上我现在开始工作了,在 Windows 更新到 17063 之后,我完全卸载了 docker 我能找到的所有东西(从 programdata 和 appdata),并使用 dism 重新安装了 hyperv。
现在唯一的问题是需要 5-10 分钟才能获得 IP。
有没有更深入地解决这些连接问题的方法?
有没有更深入地解决这些连接问题的方法?
真不知道。 ¯_(ツ)_/¯
我会关闭问题,直到问题再次出现。
大家好,新年快乐。
我是 Docker 的初学者,我和你有同样的问题。
我想学习 Docker入门的官方教程
我正确地遵循了此页面Microsoft Hyper-V 的说明
但是我的 PowerShell 在等待主机启动时被阻止
docker-machine create -d hyperv --hyperv-virtual-switch "myswitch" myvm1
_对不起,是法语_
我的设置
Windows:
Windows 10 PRO
Version: 1709
OS: 16299.125
Client:
Version: 17.09.1-ce
API version: 1.32
Go version: go1.8.3
Git commit: 19e2cf6
Built: Thu Dec 7 22:22:26 2017
OS/Arch: windows/amd64
Server:
Version: 17.09.1-ce
API version: 1.32 (minimum version 1.12)
Go version: go1.8.3
Git commit: 19e2cf6
Built: Thu Dec 7 22:28:28 2017
OS/Arch: linux/amd64
Experimental: true
docker-machine.exe version 0.13.0, build 9ba6da9
我能做些什么来解决这个问题?
再次感谢和新年快乐。
@rifton007
问题仍然存在吗?
虚拟机似乎正常启动,但尚未连接到网络。
从 --debug 选项开始并粘贴输出。
嘿,如果您仍然有问题,请尝试在 VM 中手动设置 IP 地址。 第一次通过右键单击您尝试用于 VM 的适配器获取交换机的子网,选择状态,然后选择详细信息,您将看到交换机的网络和子网。 然后您可以尝试从该机器上的该子网分配一个 IP。
从 hyperv 连接到 VM,然后只需键入: ifconfig eth0 172.27.240.10 netmask 255.255.240.0
(在我的情况下)
如果这对您有用,请告诉我,您可以通过docker-machine ls
查看
我也遇到过这个问题,解决了,我认为根本原因是:文档不清晰。
解决这个问题:
请确保您选择了正确的网络
列表中有多个网络,但可能只有一个已启用
您可以在以下位置检查状态:控制面板\网络和 Internet\网络连接
您也可以通过:网络和共享中心/更改适配器设置
详细解释见下图:
@timothy2005感谢您的努力。 👍 在顶部添加了指向您的解决方案的链接。
@hinell 非常感谢!
我面临与@rifton007相同的问题https://github.com/docker/machine/issues/4328#issuecomment -354620409
由@timothy2005的https://github.com/docker/machine/issues/4328#issuecomment -402993480 解决。 谢谢..
我也遇到过这个问题,解决了,我认为根本原因是:文档不清晰。
解决这个问题:
请确保您选择了正确的网络
列表中有多个网络,但可能只有一个已启用
您可以在以下位置检查状态:控制面板\网络和 Internet\网络连接
您也可以通过:网络和共享中心/更改适配器设置详细解释见下图:
它对我有用! tks
我遇到了同样的问题。 在管理模式下从 powershell 窗口重试,第一个 vm 大约需要 10 分钟,虽然似乎卡在了启动 Vm 步骤但最终完成了任务。 第二个虚拟机的创建速度要快得多。
通过不添加 -hyperv-memory 解决这个问题!在合适的时候我将它设置为 512,但是当我删除它时,它可以工作。
我的出路,谢谢@moviewang
最有用的评论
我也遇到过这个问题,解决了,我认为根本原因是:文档不清晰。
解决这个问题:
请确保您选择了正确的网络
列表中有多个网络,但可能只有一个已启用
您可以在以下位置检查状态:控制面板\网络和 Internet\网络连接
您也可以通过:网络和共享中心/更改适配器设置
详细解释见下图: