9

GitHub packages started returning error pulling image configuration: unknown blob this weekend when trying to pull docker images. It still works to push images to the registry. I haven't found any infromation pointing to problems at GitHub.

000eee12ec04: Pulling fs layer
db438065d064: Pulling fs layer
e345d85b1d3e: Pulling fs layer
f6285e273036: Waiting
2354ee191574: Waiting
69189c7cf8d6: Waiting
771c701acbb7: Waiting
error pulling image configuration: unknown blob

How do I troubleshoot this?

adamfinstorp
  • 1,627
  • 3
  • 17
  • 26
  • Possible duplicate of [docker ERROR: unknown blob](https://stackoverflow.com/questions/48599288/docker-error-unknown-blob) – Adiii Nov 25 '19 at 09:52
  • 2
    Don't think that it's the same actually. Error messages are a bit different, and I get the same error from different machines – adamfinstorp Nov 25 '19 at 10:51

2 Answers2

2

This is the result of a failed push where the push appears to have been successful but something went wrong on the registry side and something is missing.

To fix it build your container again and push it again.

While this is likely a rare situation it would be possible to test for this by deleting your image locally after pushing and pulling it again to ensure pulls work as expected.

Jacob Tomlinson
  • 3,341
  • 2
  • 31
  • 62
1

One possible cause of failure of pulling or pushing image layer is the unreliable network connection outlined in this blog. By default docker engine has 5 parallel upload operations.

You can update the docker engine to only use single upload or download operation by specifying values for max-concurrent-downloads for download or max-concurrent-uploads for upload.

On windows, you should update via C:\Users\{username}\.docker\daemon.json or via the Docker for Desktop GUI:


    {
      ...
      "max-concurrent-uploads": 1
    }

On *Nix, open /etc/docker/daemon.json (If the daemon.json file doesn’t exist in /etc/docker/, create it.) and add following values as needed:

{
    ...
    "max-concurrent-uploads": 1
}

And restart daemon.

Note: Currently this is not possible to specify these options in docker push or docker pull command as per this post.

Rajesh Swarnkar
  • 601
  • 1
  • 6
  • 18