You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
problem while downloading blobs named using set-alias #3
OK now I pulled the latest registry:2, I'm getting test failures.
Looks like Docker changed things around again. I did update to schema v2 but maybe it changed again :(
@twanc are you using Docker Hub here or a private registry? dxf really expects to be reading something it's written. It doesn't handle manifest lists, for example.
@davedoesdev
Thank you for response. I am using private docker registry deployed as following:
docker run -d -p 5000:5000 --restart=always --name registry registry:2
Afterwards I set shell environment as following:
export DXF_HOST=localhost:5000
export DXF_INSECURE=1
I checked deeper this case, especially logs from docker registry. Noticed the problem is while docker registry translating v2 manifest to v1 version because it is gathered via name - not the digest.
Anyway I noticed also it is all about manifest digest in config section. I changed this digest to the original once (for latest tag) and there is no problem to PUT it and download image at all.
OK I repro'd. Yes the cause is the manifest, but not because it's converting.
Schema 2 (https://github.com/docker/distribution/blob/master/docs/spec/manifest-v2-2.md) has a config section which is supposed to contain the container config. dxf is just using the registry as a blob store, it doesn't even know about containers. But the registry wants this section.
So to give it something, instead of an application/vnd.docker.container.image.v1+json to describe a container config, dxf just gives it an application/octet-stream (actually, points to the first layer itself). docker pull will be trying to read that file as application/vnd.docker.container.image.v1+json and failing.
@davedoesdev I got bitten by this issue as well, as I was planning to use dxf to forward images between registries.
Can you add a "caveat" to the readme that this is currently not possible?
Activity
twanc commentedon Apr 10, 2016
it looks it is by design due to docker registry design, am I right? :)
davedoesdev commentedon Apr 10, 2016
Trying to repro this but I can't even get it to auth to Docker Hub at the moment :(
davedoesdev commentedon Apr 10, 2016
OK now I pulled the latest
registry:2, I'm getting test failures.Looks like Docker changed things around again. I did update to schema v2 but maybe it changed again :(
davedoesdev commentedon Apr 10, 2016
Ah no, scratch that the tests pass, I had a debugging line affecting the results.
So back to Docker Hub auth...
davedoesdev commentedon Apr 10, 2016
I can auth (even as anon) if I specify
library/ubuntuinstead ofubuntu.davedoesdev commentedon Apr 10, 2016
@twanc are you using Docker Hub here or a private registry?
dxfreally expects to be reading something it's written. It doesn't handle manifest lists, for example.twanc commentedon Apr 11, 2016
@davedoesdev
Thank you for response. I am using private docker registry deployed as following:
docker run -d -p 5000:5000 --restart=always --name registry registry:2
Afterwards I set shell environment as following:
export DXF_HOST=localhost:5000
export DXF_INSECURE=1
I checked deeper this case, especially logs from docker registry. Noticed the problem is while docker registry translating v2 manifest to v1 version because it is gathered via name - not the digest.
Anyway I noticed also it is all about manifest digest in config section. I changed this digest to the original once (for latest tag) and there is no problem to PUT it and download image at all.
davedoesdev commentedon Apr 11, 2016
OK thanks. I'd like to look a bit deeper into this too. How did you upload Ubuntu image to the local registry?
davedoesdev commentedon Apr 11, 2016
?
twanc commentedon Apr 11, 2016
yes, exacly
twanc commentedon Apr 11, 2016
My docker client version:
tomek@wro182:~/cloud-init-template$ docker --version
Docker version 1.10.3, build 20f81dd
davedoesdev commentedon Apr 11, 2016
OK I repro'd. Yes the cause is the manifest, but not because it's converting.
Schema 2 (https://github.com/docker/distribution/blob/master/docs/spec/manifest-v2-2.md) has a
configsection which is supposed to contain the container config.dxfis just using the registry as a blob store, it doesn't even know about containers. But the registry wants this section.So to give it something, instead of an
application/vnd.docker.container.image.v1+jsonto describe a container config,dxfjust gives it anapplication/octet-stream(actually, points to the first layer itself).docker pullwill be trying to read that file asapplication/vnd.docker.container.image.v1+jsonand failing.davedoesdev commentedon Apr 11, 2016
There's not much I can do here - I don't really want to start defining container image definitions just to store blobs.
twanc commentedon Apr 11, 2016
yes, thats right, thanks for answer :)
davedoesdev commentedon Apr 11, 2016
No problem - I appreciate you reporting it and helping figure it out.
mrueg commentedon Nov 24, 2017
@davedoesdev I got bitten by this issue as well, as I was planning to use dxf to forward images between registries.
Can you add a "caveat" to the readme that this is currently not possible?
Add note to README to say docker pull is not possible
davedoesdev commentedon Nov 26, 2017
Nice suggestion - done and thanks!