"Binary stream "0" does not contain valid BinaryHeader. This may be due to invalid flow, or due to changes in the object version between serialization and serialization.
See: docker#1232
- VirtualBox is not compatible with Hyper-V, and Docker Desktop needs Hyper-V to run linux containers. Turn off VirtualBox.
- Windows update may have broken a component. Users have had success reinstalling file/printer sharing in windows: docker#1232 (comment)
Unable to start: The running command stopped because the preference variable "ErrorActionPreference" or common parameter is set to Stop: 'MobyLinuxVM' failed to start. (Virtual machine ID ....)
?
Unable to create: The running command stopped because the preference variable "ErrorActionPreference" or common parameter is set to Stop: Hyper-V encountered an error trying to access an object on computer 'EMERIO-USER' because the object was not found. The object might have been deleted. Verify that the Virtual Machine Management service on the computer is running. at New-Switch, : line 121
See docker#1221
- Your Hyper-V configuration is likely broken. This may be caused by a windows update.
- See docker#1221 (comment) for the 'control flow guard' fix
Unable to create: The running command stopped because the preference variable "ErrorActionPreference" or common parameter is set to Stop: Generic failure at New-Switch, : line 121
See also docker#4016 (comment)
Cause: Broken network adapter (perhaps caused by windows update)
2 possible solutions:
Manually remove hyper V network adapter
- Close docker desktop
- Remove the VM
powershell -ExecutionPolicy ByPass -File "C:\Program Files\Docker\Docker\resources\MobyLinux.ps1" -destroy
- Remove the broken network adapter https://blogs.msdn.microsoft.com/jjameson/2011/03/14/removing-stale-network-adapters-in-hyper-v-vm/
- Reset docker desktop to factory defaults
- Restart docker desktop
Control flow guard fix
- Open "Window Security"
- Open "App & Browser control"
- Click "Exploit protection settings" at the bottom
- Switch to "Program settings" tab
- Locate "C:\WINDOWS\System32\vmcompute.exe" in the list and expand it
- Click "Edit"
- Scroll down to "Code flow guard (CFG)" and uncheck "Override system settings"
- Start vmcompute from powershell "net start vmcompute"
Unable to start: The running command stopped because the preference variable "ErrorActionPreference" or common parameter is set to Stop: 'MobyLinuxVM' failed to start. (Virtual machine ID E2B4DEA4-1300-43B4-9D49-BBCC2DEEC5ED) 'MobyLinuxVM' failed to start worker process: Windows cannot verify the digital signature for this file. A recent hardware or software change might have installed a file that is signed incorrectly or damaged, or that might be malicious software from an unknown source.
See tickets https://github.com/docker/for-win/issues?q=is%3Aissue+%3A+Windows+cannot+verify+the+digital+signature+for+this+file+is%3Aclosed Likely already fixed, but its also been related to virus scanners in the past. Check your virus scanner is up to date.
Unable to start: The running command stopped because the preference variable "ErrorActionPreference" or common parameter is set to Stop: 'MobyLinuxVM' failed to change state. at Start-MobyLinuxVM, : line 296
Cause: Broken network adapter (perhaps caused by windows update)
- Close docker desktop
- Remove the VM
powershell -ExecutionPolicy ByPass -File "C:\Program Files\Docker\Docker\resources\MobyLinux.ps1" -destroy
- Remove the broken network adapter https://blogs.msdn.microsoft.com/jjameson/2011/03/14/removing-stale-network-adapters-in-hyper-v-vm/
- Reset docker desktop to factory defaults
- Restart docker desktop
Unable to create: The running command stopped because the preference variable "ErrorActionPreference" or common parameter is set to Stop: Inconsistent parameters PolicyStore PersistentStore and Dhcp Enabled
See: docker#2050 Are you using Cisco AnyConnect?
- stop Cisco agent, restart docker, start Cisco agent.
Unable to start: The running command stopped because the preference variable "ErrorActionPreference" or common parameter is set to Stop: 'MobyLinuxVM' failed to start. Failed to start the virtual machine 'MobyLinuxVM' because one of the Hyper-V components is not running. 'MobyLinuxVM' failed to start. (Virtual machine ID E29796F3-81DE-4BA7-81DC-986110B3E602) The Virtual Machine Management Service failed to start the virtual machine 'MobyLinuxVM' because one of the Hyper-V components is not running (Virtual machine ID E29796F3-81DE-4BA7-81DC-986110B3E602). at Start-MobyLinuxVM, : line 287
This is frequently caused by trying to run Docker Desktop in nested virtualization e.g. on a virtual windows server in Azure / AWS.
-
See docker#4231 for evidence this is caused by nested virt
-
See docker#4138 someone trying to use AWS Windows Server nested virt
-
See docker#3460 someone trying to use Azure VM nested virt
-
Maybe VirtualBox or other 3rd party software preventing Hyper-V from running (e.g. 3rd party virus scanners)
User reported VirtualBox DHCP fix: docker#3895 (comment)
Could you check if the following Hyper-V components are running?
- Hyper-V Host Compute Service
- Hyper-V Virtual Machine Management
The input object cannot be bound to any parameters for the command either because the command does not take pipeline input or the input and its properties do not match any of the parameters that take pipeline input.
- Typically you've run out of space because of images, volumes, logs etc. Various ways of looking at whats there and deleting it.
- https://stackoverflow.com/questions/30604846/docker-error-no-space-left-on-device
- https://unix.stackexchange.com/questions/203168/docker-says-no-space-left-on-device-but-system-has-plenty-of-space
Cause: Active directory / user account permissions setup
See docker#868
- You must restart after install
- Login to active directory and add yourself into docker-users group. using local account may fail. (docker#868 (comment))
Error response from daemon: Get https://registry-1.docker.io/v2/
See docker#4043
Cause: Firewall / proxy / Custom DNS blocking access to the registry Solution: Likely not a bug in Docker Desktop; Probably just need to fix whatever custom proxy / firewall / dns setup is limiting connectivity.
The process cannot access the file 'C:\Program Files\Docker\Docker\com.docker.service' because it is being used by another process.
See docker#3919
Check you have enabled virtualization on Windows.
Windows fast boot doesnt work with docker right now. Restart docker or disable windows fast boot.
Also:
http: TLS handshake error from 192.168.65.3:33440: remote error: tls: bad certificate
x509: certificate is valid for docker-for-desktop, kubernetes, kubernetes.default, kubernetes.default.svc, kubernetes.default.svc.cluster.local, host.docker.internal, not vm.docker.internal
Known bug due to certs not being upgraded properly. See docker#3799 for details and workaround fix.
We are now checking for certs on boot which should fix the issue in Stable release 2.1.0.0
?
?
Cannot start service xyz: failed to create endpoint XYZ on network nat: HNS failed with error : The process cannot access the file because it is being used by another process.
You are using the same port twice in two containers.
Value cannot be null. Parameter name: path1 at System.IO.Path.Combine(String path1, String path2, String path3)
dataFolder is set to null in settings.json. Known bug: docker#4343
Fixed in 2.1.0.1
[PowerShell ][Error ] The required module 'Hyper-V' is not loaded. Load the module or remove the module from 'RequiredModules' in the file 'C:\Program Files\Docker\Docker\Resources\MobyLinux\MobyLinux.psd1'.
This may be caused by 3rd party programs changing or overwriting the powershell module path.
- Ensure Hyper-V Powershell windows feature is enabled / installed
- Update your system variable PsModulePath with the correct Hyper-V path. In a previous case, the Hyper-V module was present at C:\Windows\System32\WindowsPowerShell\v1.0\Modules
- Check you don't have a user environment variable PsModulePath overwriting it, and/or change it to the path above.
[07:41:48.179][PowerShell ][Error ] Windows PowerShell updated your execution policy successfully, but the setting is overridden by a policy defined at a more specific scope. Due to the override, your shell will retain its current effective execution policy of AllSigned. Type "Get-ExecutionPolicy -List" to view your execution policy settings. For more information please see "Get-Help Set-ExecutionPolicy".
[07:41:48.207][PowerShell ][Error ] AuthorizationManager check failed.
Known bug in 2.1.0.0. See docker#4376 Fixed in 2.1.0.1
[10:40:41.609][HyperV ][Error ] Unable to create: System.Management.Automation.CmdletInvocationException: Object reference not set to an instance of an object. ---> System.NullReferenceException: Object reference not set to an instance of an object. at Docker.Core.SettingsLoader.SaveChanges
Known bug in 2.1.0.0. Fixed in 2.1.0.1
Firstly be sure its not containers running, and if running in Linux container mode, check which processes are causing the issue: Inspect the memory usage of the VM processes:
Enter the Linux VM shell
docker run -it --privileged --pid=host justincormack/nsenter1
List processes
top
Check CPU usage on this screen.
Show memory and sort by RSS
ss
(press s twice)
You should see something like... (with kube running)
Mem total:2027864 anon:724576 map:455416 free:72160
slab:105332 buf:37220 cache:891556 dirty:144 write:0
Swap total:1048572 free:1042424
PID VSZ VSZRW^^^RSS^(SHR) DIRTY (SHR) STACK COMMAND
3840 464m 304m 332m 4 179m 0 132 kube-apiserver --advertise-address=192.168.65.3 --allow-privileged=true --authorization-mode=Node,RBAC --clie
1538 106m 104m 104m 424 104m 0 132 rpc.statd
3921 211m 102m 100m 4 38308 0 132 kube-controller-manager --authentication-kubeconfig=/etc/kubernetes/controller-manager.conf --authorization-k
2570 226m 104m 99876 436 34776 0 132 kubelet --kubeconfig=/etc/kubernetes/kubelet.conf --config /etc/kubeadm/kubelet.yaml --bootstrap-kubeconfig=/
...
RSS is the actual memory allocated to that process. VSZ is the maximum memory allowed for that process. free
in the top line is how much free memory your VM has - but bear in mind even when this is low, you might have available memory as processes sometimes hang on to unused memory until its needed by something else.