mirror of https://github.com/docker/docs.git
Update the Desktop docs on nested virt (#14775)
* desktop: can also use Linux for Linux containers Now that we've released Docker Desktop for Linux! Signed-off-by: David Scott <dave.scott@docker.com> * desktop: link to Microsoft's nested Hyper-V docs Signed-off-by: David Scott <dave.scott@docker.com> * desktop: document how to enable nested Hyper-V Signed-off-by: David Scott <dave.scott@docker.com> * desktop: remove outdated comment about 60s timeouts The timeout is now 10 minutes which is effectively infinite. Although nested virtualization will be slower, it's the same as having a busy machine. Signed-off-by: David Scott <dave.scott@docker.com> * Update desktop/windows/troubleshoot.md Co-authored-by: Allie Sadler <102604716+aevesdocker@users.noreply.github.com>
This commit is contained in:
parent
cd5103f170
commit
0b100e25c6
|
@ -344,18 +344,29 @@ C:\Program Files\Docker\docker.exe:
|
|||
|
||||
### Running Docker Desktop in nested virtualization scenarios
|
||||
|
||||
Docker Desktop can run inside a Windows 10 VM running on apps like Parallels or VMware Fusion on a Mac provided that the VM is properly configured. However, problems and intermittent failures may still occur due to the way these apps virtualize the hardware. For these reasons, _**Docker Desktop is not supported in nested virtualization scenarios**_. It might work
|
||||
Docker Desktop can run inside a Hyper-V VM, see
|
||||
[Microsoft's nested virtualization user guide](https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/user-guide/nested-virtualization) for more information.
|
||||
Docker Desktop can also run inside a Windows 10 VM running on apps like Parallels or VMware Fusion on a Mac provided that the VM is properly configured.
|
||||
|
||||
However, problems and intermittent failures may still occur due to the way these apps virtualize the hardware. For these reasons, _**Docker Desktop is not supported in nested virtualization scenarios**_. It might work
|
||||
in some cases, and not in others.
|
||||
|
||||
For best results, we recommend you run Docker Desktop natively on a Windows system (to work with Windows or Linux containers), or on Mac to work with Linux containers.
|
||||
For best results, we recommend you run Docker Desktop natively on a Windows system (to work with Windows or Linux containers), or on Mac or Linux to work with Linux containers.
|
||||
|
||||
#### If you still want to use nested virtualization
|
||||
|
||||
* Make sure nested virtualization support is enabled in VMWare or Parallels.
|
||||
* If using Hyper-V, make sure nested virtualization support is enabled for the
|
||||
Windows VM by running the following powershell as Administrator:
|
||||
|
||||
```none
|
||||
Set-VMProcessor -VMName <Windows VM Name> -ExposeVirtualizationExtensions $true
|
||||
```
|
||||
|
||||
* If using VMware or Parallels, make sure nested virtualization support is enabled.
|
||||
Check the settings in **Hardware > CPU & Memory > Advanced Options > Enable
|
||||
nested virtualization** (the exact menu sequence might vary slightly).
|
||||
|
||||
* Configure your VM with at least 2 CPUs and sufficient memory to run your
|
||||
* Configure your Windows VM with at least 2 CPUs and sufficient memory to run your
|
||||
workloads.
|
||||
|
||||
* Make sure your system is more or less idle.
|
||||
|
@ -365,19 +376,12 @@ For best results, we recommend you run Docker Desktop natively on a Windows syst
|
|||
|
||||
* The processor you have may also be relevant. For example, Westmere based Mac
|
||||
Pros have some additional hardware virtualization features over Nehalem based
|
||||
Mac Pros and so do newer generations of Intel processors.
|
||||
Mac Pros and so do newer generations of Intel processors. For Hyper-V, check
|
||||
[Microsoft's nested virtualization user guide](https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/user-guide/nested-virtualization)
|
||||
to verify the host OS version is supported on your hardware.
|
||||
|
||||
#### Typical failures we see with nested virtualization
|
||||
|
||||
* Slow boot time of the Linux VM. If you look in the logs and find some entries
|
||||
prefixed with `Moby`. On real hardware, it takes 5-10 seconds to boot the
|
||||
Linux VM; roughly the time between the `Connected` log entry and the `*
|
||||
Starting Docker ... [ ok ]` log entry. If you boot the Linux VM inside a
|
||||
Windows VM, this may take considerably longer. We have a timeout of 60s or so.
|
||||
If the VM hasn't started by that time, we retry. If the retry fails we print
|
||||
an error. You can sometimes work around this by providing more resources to
|
||||
the Windows VM.
|
||||
|
||||
* Sometimes the VM fails to boot when Linux tries to calibrate the time stamp
|
||||
counter (TSC). This process is quite timing sensitive and may fail when
|
||||
executed inside a VM which itself runs inside a VM. CPU utilization is also
|
||||
|
|
Loading…
Reference in New Issue