Docker pull fails for windows containers

Actual Behavior

Running “docker pull microsoft/nanoserver” fails on my windows machine with the following error:

Using default tag: latest
latest: Pulling from microsoft/nanoserver
bce2fbc256ea: Extracting [==================================================>] 252.7 MB/252.7 MB
58f68fa0ceda: Download complete
failed to register layer: re-exec error: exit status 1: output: ProcessUtilityVMImage C:\ProgramData\Docker\windowsfilter\6a8379d19c50c4ce4a8283a61c5a8e4bc85a57d6def85a9b8e5abeabea40d47b\U
tilityVM: The process cannot access the file because it is being used by another process.

Expected Behavior

docker pull should work and image should download and extract cleanly.

Related Information

  1. I have ‘Docker for windows’ installed on windows 10 Pro 64 bit.

  2. I am currently running this in windows containers mode.
    *Here is the output of docker version:

    Client:
    Version: 17.03.1-ce
    API version: 1.27
    Go version: go1.7.5
    Git commit: c6d412e
    Built: Tue Mar 28 00:40:02 2017
    OS/Arch: windows/amd64

    Server:
    Version: 17.03.1-ce
    API version: 1.27 (minimum version 1.24)
    Go version: go1.7.5
    Git commit: c6d412e
    Built: Tue Mar 28 00:40:02 2017
    OS/Arch: windows/amd64
    Experimental: true

What I have already tried

Based on the other online posts on this error, I have done the following but the issue still exists:

  1. Tried running it multiple times with nanoserver image.
  2. Tried using another another image (still in windows containers) windowsservercore.
  3. Added folder exclusion in SEP (Symantec Endpoint Protection) and rebooted my laptop.
  4. Disabled SEP and rebooted my laptop.

I cannot uninstall SEP from my laptop per corporate policy.

I am not sure if this has been officially fixed in any of the new releases of windows or docker.

Steps to Reproduce

Install Docker for windows.
Switch to windows containers
Run ‘docker pull microsoft/nanoserver’

Any help/feedback is appreciated…

As mentioned elsewhere, it appears that you either have to completely uninstall SEP or upgrade to the very latest version.

Latest version of docker or SEP?

SEP. On the Docker-side, I don’t think there’s much we can do if you’ve installed software on your machine that keeps file handles open and similar.

Well, I am getting the same error. I tried a number of ways. The same thing works when I switch to Linux container, but does not work if I switch to Windows Container. In case of Linux container the Symantec protection was on on. I first had stable version. I got the same behavior with slightly different error message. Then, I switched to Docker CE edge latest version. I have latest windows 10 Enterprise with latest updates on my computer.

I tried pulling microsoft/dotnet and microsoft/windowsservercore and nanoserver with the same error.

docker pull microsoft/nanoserver

Error message after completing the downloads:

failed to register layer: re-exec error: exit status 1: output: ProcessUtilityVMImage C:\ProgramData\Docker\windowsfilte
r\c075464e530a899ecaff3b747682a00e2cc24a91f932ecabb5ce67ff7c621aa1\UtilityVM: The process cannot access the file because
** it is being used by another process.**

I have Symentec Endpoint protection. However, I first put all the executable i added a number of exe files in windows/system32 folder. Then I disabled the Endpoint protection and stopped the related process in the task manager.

docker version:
Client:
Version: 17.11.0-ce
API version: 1.34
Go version: go1.8.4
Git commit: 1caf76c
Built: Mon Nov 20 18:30:11 2017
OS/Arch: windows/amd64

Server:
Version: 17.11.0-ce
API version: 1.34 (minimum version 1.24)
Go version: go1.8.5
Git commit: 1caf76c
Built: Mon Nov 20 18:34:19 2017
OS/Arch: windows/amd64
Experimental: true
PS C:\Users\drusia>

docker info:
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 0
Server Version: 17.11.0-ce
Storage Driver: windowsfilter
Windows:
Logging Driver: json-file
Plugins:
Volume: local
Network: ics l2bridge l2tunnel nat null overlay transparent
Log: awslogs etwlogs fluentd json-file logentries splunk syslog
Swarm: inactive
Default Isolation: hyperv
Kernel Version: 10.0 15063 (15063.0.amd64fre.rs2_release.170317-1834)
Operating System: Windows 10 Enterprise
OSType: windows
Architecture: x86_64
CPUs: 4
Total Memory: 7.888GiB
Name: US-WASH-21H92G2
ID: 7LMP:QGPJ:VXLQ:RMPO:3K6V:VIYO:WM4G:ULDO:I2GG:564J:KVUZ:TCC2
Docker Root Dir: C:\ProgramData\Docker
Debug Mode (client): false
Debug Mode (server): true
File Descriptors: -1
Goroutines: 25
System Time: 2017-11-27T23:28:03.1524583-06:00
EventsListeners: 1
Registry: https://index.docker.io/v1/
Experimental: true
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false

I hope it would help if someone is investigating the issue.