So this is an issue that I believe lies with Windows, but it is affecting my ability to use Docker with Windows Containers.
I am able to run Docker with Linux Containers and they work fine, but when I try to switch to Windows Containers, it fails with the HNS error.
I have already opened Issue #4028 on github where you can find all my logs and information.
I will post the output of Debug-ContainerHost.ps1, found here :
Checking for common problems
Container Host OS Product Name: Windows 10 Enterprise
Container Host OS Build Label: 17763.1.amd64fre.rs5_release.180914-1434
Describing Windows Version and Prerequisites
[+] Is Windows 10 Anniversary Update or Windows Server 2016 772ms
[+] Has KB3192366, KB3194496, or later installed if running Windows build 14393 117ms
[+] Is not a build with blocking issues 29ms
[+] Has 'Containers' feature installed 48.6s
Describing Docker is installed
[+] A Docker service is installed - 'Docker' or 'com.Docker.Service' 79ms
[+] Service is running 27ms
[+] Docker.exe is in path 5.16s
[+] Docker is registered in the EventLog service 114ms
Describing User has permissions to use Docker daemon
[+] docker.exe should not return access denied 39ms
Describing Windows container settings are correct
[+] Do not have DisableVSmbOplock set to 1 30ms
[+] Do not have zz values set 63ms
[+] Do not have FDVDenyWriteAccess set to 1 42ms
Describing The right container base images are installed
WARNING: No mcr.microsoft.com/* base images found. Checking for deprecated images.
[-] At least one of 'mcr.microsoft.com/windows/servercore', 'mcr.microsoft.com/windows/nanoserver', 'mcr.microsoft.com/windows' or deprecated microsoft/windowsservercore, microsoft/nanoserver should be installed 279ms
ValidationMetadataException: The argument is null or empty. Provide an argument that is not null or empty, and then try the command again.
ParameterBindingValidationException: Cannot validate argument on parameter 'Property'. The argument is null or empty. Provide an argument that is not null or empty, and then try the command again.
at <ScriptBlock>, <No file>: line 126
Describing Container network is created
[+] At least one local container network is available 2.09s
[-] At least one NAT, Transparent, or L2Bridge Network exists 82ms
Expected {0} to be greater than {0}
218: $totalnets | Should BeGreaterThan 0
at <ScriptBlock>, <No file>: line 218
[-] NAT Network's vSwitch is internal 55ms
Expected: {Internal}
But was: {}
223: $switchType | Should Be "Internal"
at <ScriptBlock>, <No file>: line 223
[+] A Windows NAT is configured if a Docker NAT network exists 105ms
[-] Specified Network Gateway IP for NAT network is assigned to Host vNIC 41ms
Expected: value to not be empty
237: $natGatewayIP | Should Not BeNullOrEmpty
at <ScriptBlock>, <No file>: line 237
[-] NAT Network's internal prefix does not overlap with external IP' 32ms
Expected {0} to be greater than {0}
264: $hostips.Count | Should BeGreaterThan 0
at <ScriptBlock>, <No file>: line 264
Showing output from: docker info
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 0
Server Version: 18.09.2
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 9754871865f7fe2f4e74d43e2fc7ccd237edcbce
runc version: 09c8266bf2fcf9519a651b04ae54c967b9ab86ec
init version: fec3683
Security Options:
seccomp
Profile: default
Kernel Version: 4.9.125-linuxkit
Operating System: Docker for Windows
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 1.934GiB
Name: linuxkit-00155d2a1105
ID: TN4W:HEJC:XG4H:Y3OO:HH4H:O74N:VQ7T:RANE:EXDO:RFYB:J52O:HJ5V
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): true
File Descriptors: 23
Goroutines: 47
System Time: 2019-06-04T19:44:34.7900475Z
EventsListeners: 1
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
Product License: Community Engine
Showing output from: docker version
Client: Docker Engine - Community
Version: 18.09.2
API version: 1.39
Go version: go1.10.8
Git commit: 6247962
Built: Sun Feb 10 04:12:31 2019
OS/Arch: windows/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 18.09.2
API version: 1.39 (minimum version 1.12)
Go version: go1.10.6
Git commit: 6247962
Built: Sun Feb 10 04:13:06 2019
OS/Arch: linux/amd64
Experimental: false
Showing output from: docker network ls
NETWORK ID NAME DRIVER SCOPE
993be1af2081 bridge bridge local
8fd11cbb3d35 host host local
2057fe057ad3 none null local
Getting Warnings & errors in the Windows event logs from the last 24 hours
Logs saved to C:\Users\19030430\OneDrive - Carestream Dental\Downloads\logs_20190604-154444.csv
Getting Docker for Windows daemon logs from the last execution
Note: More logs may be available at C:\Users\19030430\AppData\Local\Docker. Only showing the latest 100 lines.
The README.md does not provide information for how to fix the errors that I am specifically seeing from this script.
Searching for the two main HNS errors I am receiving (“No such Interface supported” and “The object invoked has disconnected from it’s clients”) do not produce any relevant search results.
I have tried many things to resolve this, and have found nothing to work. I need to have Docker working with Windows Containers for my day job. It’s not really an option to just give up on getting Docker to work.
Let me know if I need to provide anymore details. Thank you in advanced for any help given.