Docker Pull/Load for windows-container fails

Running “docker pull microsoft/server” fails after extraction is complete:

Using default tag: latest
latest: Pulling from microsoft/server
#####: Extracting [==================================================>] XX MB/XX MB
#####: Download complete
failed to register layer: re-exec error: exit status 1: output: ProcessUtilityVMImage C:\ProgramData\Docker\windowsfilter{#######SOME HASH HERE######}\U
tilityVM: The media is write-protected

What can be the issue? Why does it always fail?

1 Like

When I used the docker pull microsoft/server command you showed me, the following error came out.

Is this your own image for private repository?

It’s a public image. windows server. it’s available in the cloud.

Well, it says the media is write protected, so one question is why it is write protected. I don’t know, but Google did. I searched for " output: ProcessUtilityVMImage write protected"

On the other hand, @limsangwoons is right about that this image does not exist. It is either private in Docker Hub or it is in another private registry and maybe you have some kind of “pull through cache”, since there is no registry in the tag so it should pull it from Docker Hub unless the image exists in local registry used for pull htough cache. I would still expect it to show some errors and require a registry name if the image is not coming from Docker Hub, but that is another story. The linked GitHub issue indicates it was caused by BitLocker…

2 Likes

Hi, extremely sorry about the incorrect information. The command would be: docker pull mcr.microsoft.com/windows/server

Dear @limsangwoons and @rimelek , I am sorry about the incorrect command. I added the wrong command in the problem description. It will be: docker pull mcr.microsoft.com/windows/server

I formatted your last posts. Please follow this guide to share codes, terminal outputs and logs properly next time: How to format your forum posts

Don’t highlight part of codes as bold texts as there is no guarantee that your text will appear properly and it will be hard to help you. Thank you!

1 Like

You executed a wrong command as that was shown in your screenshot as well in the error message.

But if you start with the official documentation of Microsoft, you can find where you can get more information about the images on Docker Hub, where you find windows/server and the fact that it doesn’t show “latest” as version tag. There is also a linked JSON file that shows no latest tag, which means you need to specify an existing tag like

docker pull mcr.microsoft.com/windows/server:ltsc2022
1 Like

Hi, the tag is not mandatory. If no tag is given, it chooses the latest tag by default.

It doesn’t seem like it. Have you tried with a tag I recommended? Using the latest tag is not recommended anyway and even if some images support the latest tag, it is not surprising if the maintainers remove it.

Hi,
The problem is inside one dekstop (it is inside an office system and may have some restrictions imposed that I do not know, so there can be something else).

The same commands are giving no error in other windows computers.

Also, windows docker image from .tar file can be loaded by using docker load -i <image>.tar. This works in other computers, but fails in the computer and gives same error mentioned in the problem description, after it extracts the tar file.

Same offline and online procedure gives no error in othet computers.

It is also possible that this image had a latest tag when you pulled it to the other Windows machine. In the meantime Microsoft deleted the latest tag and it won’t work on other machines, but the existing image can still be saved and imported anywhere.

See this post on GitHub

https://github.com/docker/for-win/issues/3761#issuecomment-484124444

Which points to this

We are deprecating the ‘latest’ tag across all our Windows base images to encourage better container practices. At the beginning of the 2019 calendar year, we will no longer publish the tag ; We’ll yank it from the available tags list.

1 Like