-
Notifications
You must be signed in to change notification settings - Fork 106
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Layer id is <missing> #30
Comments
I'm also experiencing this behavior |
Same issue here, any plans to update and support new docker version?
|
Thank you for your feedback. You are right, as of Docker 1.10.0 images and layers are decoupled. This means that for some layers there is no image data. That's where the
Here is the relevant documentation on docs.docker.com. Look for "missing". Dockviz could show a generated checksum for the missing layers (and in fact there is one generated internally so that parentage can be determined), but doing this would confuse anyone who tried to use that checksum with any other docker command, such as So, for that reason, I keep the interface consistent with what Docker itself provides. If Docker ever starts generating checksums instead of showing I agree that it would look better if there were checksums in each line, but keeping the display consistent with Docker is more important. Thank you. EDIT: fixed Docker version where issue started |
While I understand the logic, I think that from a teaching perspective, having checksums can still be valuable. In my opinion, I'd prefer this to be a flag which is optional, though I agree it shouldn't necessarily be default behavior if this is consistent with Docker. |
What value do the checksums provide for teaching? Any checksum generated by dockviz is only valid in finding parentage, and once that is discovered, the lineage is depicted by the hierarchy (in Also, showing a dockviz-generated checksum that isn't there when someone runs it on their own (because they forgot the flag) would be confusing. |
While it may not be of value to you once you know Docker and understand how it works, when teaching Docker and how images work, in terms of layering. I agree that for individuals comfortable with images and the concepts of layering, this wouldn't be helpful, but I feel it's a very helpful example for individuals who are still learning the core concepts of how Docker images are built and how they exist structurally, which hierarchy alone really doesn't re-enforce when it's made up of all |
Seems like 'missing' is a bad term, when I first saw it I was afraid I was experiencing corruption. Maybe better if it said 'anonymous' or something similar. That way it would be clear the image is not missing, just that it doesn't have an identifier. |
You make a good point. How about having the content of the layer id be "ID: ", indicating that the ID is missing but not the layer itself? I think I would even be open to "ID: [not available]" or something like that. The big reason why I don't want to put the internally generated checksums out there is that there is the possibility that people will take them and pass them as arguments to regular Docker commands such as |
The 'ID:' prefix seems reasonable especially since you have Size: and Tag: already. What about 'ID: [none]'? Not available still sounds a bit like 'we failed to find/retrieve the ID'. Agreed on not providing something that looks like an layer id but isn't. Also generating a checksum sounds like it would require a lot of IO (like reading entire images off disk). |
+1 on "ID: none" That instills confidence that there is NOT an ID. The "missing" scared me too. I thought there was some kind of corruption, or a new bug with dockviz - glad I found this thread :-) BTW, @justone thanks for writing dockviz, when docker removed the --tree option I was heartbroken. I do a lot of labs and teaching at Red Hat, and without this tool it would be very difficult to show people how image layers work... |
being mostly on the user end of docker, i've wondered about the
or just
both ways make the tree look a lot less weird and make it obvious that one is the image id and one the layer id. even without understanding it, i'd be able to quickly learn that layers can't be put in |
@fatherlinux - Fun fact, @justone is the one who wrote the upstream patch to add the |
I just added a |
Thanks for this great project.
Since docker 1.1.0, docker image and layer are different things. Each image has an ID while layer only has hash checksum. Therefore, I find that layer id is when use dockviz
It looks better if we can replace missing with the hash checksum of each layer....
The text was updated successfully, but these errors were encountered: