-
-
Notifications
You must be signed in to change notification settings - Fork 332
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
Bug when listing image tags with manifest list v2 #264
Comments
Hi, thank you for using my project 😄 This is not a error, your registry server should return the default manifest when there is no The UI supports multi-arch images and single arch too... That's why I have to go deeper to troubleshoot this issue 😅 I already had issues with buildah (see #114), so I have some questions for you:
I really think the issue here is caused by buildah, for example, I copied your base image skopeo copy --insecure-policy --multi-arch=all --dest-tls-verify=false docker://docker.io/arm32v5/debian:stretch docker://127.0.0.1:5000/arm32v5/debian:stretch When I do the same thing with your image I also noticed that the architecture {
"created": "2022-09-07T16:37:50.119322002Z",
"architecture": "arm",
"os": "linux",
"config": {
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"DEBIAN_FRONTEND=noninteractive"
],
"Cmd": [
"bash"
],
"Labels": {
"io.buildah.version": "1.22.3"
}
},
"rootfs": {
"type": "layers",
"diff_ids": [
"sha256:ef35d4a1050a733d580c43820ac208a458e56c96b8cb7f23dca6aac082125e84",
"sha256:97a1198586e7b5e0d4950c0f18a5a7acb1ba604e3f7f240ef33846c29d0f2dbd"
]
},
"history": [
{
"created": "2022-06-23T00:55:37.822983329Z",
"created_by": "/bin/sh -c #(nop) ADD file:4fd9afff1465319b24ccf87076562babe87771f9c1251684705a3896e673aa09 in / "
},
{
"created": "2022-06-23T00:55:38.740692309Z",
"created_by": "/bin/sh -c #(nop) CMD [\"bash\"]",
"empty_layer": true
},
{
"created": "2022-09-07T16:27:53.540608384Z",
"created_by": "/bin/sh -c #(nop) COPY file:1f46e88741184e55f5401b2e7f1be15be9acf1895f695823f333be1c97666340 in /etc/apt/sources.list ",
"empty_layer": true
},
{
"created": "2022-09-07T16:27:53.663742161Z",
"created_by": "/bin/sh -c #(nop) COPY file:84f6b9c2060b6787f2fde3757eab4d267ff648166eb49deffe4a0f6c4017891f in /usr/local/sbin/,preload.sh ",
"empty_layer": true
},
{
"created": "2022-09-07T16:27:53.663774668Z",
"created_by": "/bin/sh -c #(nop) ENV DEBIAN_FRONTEND=noninteractive",
"empty_layer": true
},
{
"created": "2022-09-07T16:27:53.663789674Z",
"created_by": "/bin/sh -c #(nop) ARG apt_proxy=",
"empty_layer": true
},
{
"created": "2022-09-07T16:38:56.65836569Z",
"created_by": "|1 apt_proxy= /bin/sh -c echo \"Acquire::http::Proxy \\\"$apt_proxy\\\";\" > /etc/apt/apt.conf.d/99proxy && apt-get update && apt-get install -y --no-install-recommends lsb-release build-essential fakeroot debhelper wget curl jq equivs gettext-base ca-certificates unzip devscripts debian-keyring libdistro-info-perl quilt libx11-dev libxinerama-dev libxft-dev libfreetype6-dev pkg-config git libfuse-dev libopus-dev libpam0g-dev nasm libjpeg-dev libssl-dev libx11-dev libxfixes-dev libxrandr-dev && apt-get install -y --no-install-recommends -t stretch-backports dkms && touch /etc/dkms/no-autoinstall && bash /usr/local/sbin/,preload.sh && rm /etc/apt/apt.conf.d/99proxy",
"comment": "FROM docker.io/arm32v5/debian:stretch"
}
]
} Now the manifest for {
"architecture": "arm",
"config": {
"Hostname": "",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
],
"Cmd": [
"bash"
],
"Image": "sha256:1303ad235e869dd7eebf55f1be729533ea6faa971673c235bac98d14e84acf16",
"Volumes": null,
"WorkingDir": "",
"Entrypoint": null,
"OnBuild": null,
"Labels": null
},
"container": "f5c20e096bf50c1e2fe72cc5b9cdf6890f4b3af5c404fb94d1074d818a1f30f3",
"container_config": {
"Hostname": "f5c20e096bf5",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
],
"Cmd": [
"/bin/sh",
"-c",
"#(nop) ",
"CMD [\"bash\"]"
],
"Image": "sha256:1303ad235e869dd7eebf55f1be729533ea6faa971673c235bac98d14e84acf16",
"Volumes": null,
"WorkingDir": "",
"Entrypoint": null,
"OnBuild": null,
"Labels": {}
},
"created": "2022-06-23T00:55:38.740692309Z",
"docker_version": "20.10.12",
"history": [
{
"created": "2022-06-23T00:55:37.822983329Z",
"created_by": "/bin/sh -c #(nop) ADD file:4fd9afff1465319b24ccf87076562babe87771f9c1251684705a3896e673aa09 in / "
},
{
"created": "2022-06-23T00:55:38.740692309Z",
"created_by": "/bin/sh -c #(nop) CMD [\"bash\"]",
"empty_layer": true
}
],
"os": "linux",
"rootfs": {
"type": "layers",
"diff_ids": [
"sha256:ef35d4a1050a733d580c43820ac208a458e56c96b8cb7f23dca6aac082125e84"
]
},
"variant": "v5"
} |
Interesting! Thanks for the deep dive :-D and for your project :-) I'll do those tests, and I'll report back any finding 👍 In the meantime:
On |
As I stated in the previous message "edited part", I did again those tests building for multiple platforms. The result is that, calling the API for getting the image manifest (aka
So I think that With buildx, I used the command: docker buildx build --push -f Dockerfile -t 172.17.0.1:5000/debian-builder-docker:stretch-v0 --platform linux/arm/v7,linux/amd64 --output=type=registry,registry.insecure=true . (the dockerfile from the 1st message is enough for these tests) |
Thank you for your time and your investigation 😄 IMO buildx is right here, when you work with a REST API, you may not return a 404 when the resource exists, you may have a default value when you do not provide any Accept or when any Accept are supported or a specific message instead of Anyway, this will not solve your issue.... I've already tried a few things that didn't work 😞 BTW, I added your name in my contributors list |
Thanks! :-) |
I pushed a fix, you can try it with the tag Tell me if it's ok for you 😄 |
I've updated the image and it's working perfectly :-) |
Great 😄 thank you for your patience ! I will release this in the next 2.3.0 version :) |
Hi, I use this docker registry UI and I have an issue listing tag for images using manifest list for manifest v2, schema v2 (aka
application/vnd.docker.distribution.manifest.list.v2+json
).Bug description
When pushing an image for manifest list v2, schema v2 (see below for example), the tag listing is showing the tag with an error (due to a 404 status for the HTTP request for that tag). However, when clicking on the tag history, the request is successful.
I traced down the request, and apparently the
application/vnd.docker.distribution.manifest.list.v2+json
is missing whenlist
is not true:docker-registry-ui/src/scripts/docker-image.js
Line 144 in 49fcba3
which is here and maybe somewhere else:
docker-registry-ui/src/components/tag-list/tag-list.riot
Line 94 in 49fcba3
I think that is an error, but I admit that I'm not sure about that.
How to Reproduce
Steps to reproduce the behavior:
Expected behavior
List correctly all tags / support manifest list (v2) when listing tags.
Screenshots
Here the error when listing a tag:

Here is the full page of the tag history page:

System information
Additional context
Example container
As an example container, you can either pull the one I'm testing from Docker Hub:
enrico204/debian-builder:stretch-v0-armel
or you can build this Dockerfile:Using this series of commands:
HTTP requests trace
When listing all tags for my image, I see an HTTP request to the tag which has this issue:
When opening the tag history I see this request instead:
The text was updated successfully, but these errors were encountered: