Useful or not, from you.
for-win docker push fails (EOF) and is reported 50% bigger on Windows with LCOW experimental mode

<!-- Replace - [ ] with - [x], or click after having submitted the issue. -->

  • [X] I have tried with the latest version of my channel (Stable or Edge)
  • [ ] I have uploaded Diagnostics
  • Diagnostics ID:

Expected behavior

Docker push works

Actual behavior

Docker push fails to upload 1 layer, retries a few times, and errors with EOF. It also reports the layer as being 50% bigger than it actually is, while pushing it. Even after aborting/failing the process, both docker and the docker service process use max CPU indefinitely until hard-killed.

Information

Docker for windows 18.06.1-ce-win73 (19507)

  • Windows Containers mode
  • Experimental mode ACTIVE
  • Uploading to Azure Container Registry, although I suspect the problem would occur with any registry.

Steps to reproduce the behavior

docker pull ubuntu
docker image tag ubuntu registry-name.azurecr.io/ubuntu
docker push registry-name.azurecr.io/ubuntu

Output

...
a30b835850bf: Pushing [==>                                                ]   4.84MB/120.1MB

Sometimes, it actually makes it all the way to 120.1MB instead of failing/retrying, but it never actually completes - instead, in that case, it says "EOF" and quits.

When I push this image from an ubuntu box instead, it pushed just fine except layer a30b835850bf was about 80MB, not 120.1MB

That's a useful answer
Without any help

Exactly the same issue here, pushing to ACR, Docker Hub, or a local registry. I don't know if this is specifically relevant, but while I was fiddling with it, I tried cranking the maximum concurrent uploads down to one, which gives me the following final error message when the last retry of the push fails:

docker : failed CopyFileW Win32 call from 'C:\ProgramData\Docker\lcow\cache\scratch.vhdx' to
'C:\ProgramData\Docker\lcow\scratch\174ce691a4ebb5582bc88d0d6c1abe77ee2528b67659af12e94bea0e37223085.vhdx': The process cannot access the file because it is being used by another process.

Any progress on a fix?