Skip to content
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

It doesn't seem that 3.1.3 is available? #22

Closed
skatkov opened this issue Feb 20, 2023 · 6 comments
Closed

It doesn't seem that 3.1.3 is available? #22

skatkov opened this issue Feb 20, 2023 · 6 comments

Comments

@skatkov
Copy link

skatkov commented Feb 20, 2023

I tried using docker pull quay.io/evl.ms/fullstaq-ruby:3.1.3-jemalloc-bullseye image.

Dockerfile

#syntax=docker/dockerfile:1.2
FROM quay.io/evl.ms/fullstaq-ruby:3.1.3-jemalloc-bullseye

But once I run docker buildx build . I get an error:

[+] Building 2.1s (5/5) FINISHED
 => [internal] load build definition from Dockerfile                                                                                                                                  0.0s
 => => transferring dockerfile: 729B                                                                                                                                                  0.0s
 => [internal] load .dockerignore                                                                                                                                                     0.0s
 => => transferring context: 34B                                                                                                                                                      0.0s
 => resolve image config for docker.io/docker/dockerfile:1.2                                                                                                                          1.3s
 => CACHED docker-image://docker.io/docker/dockerfile:1.2@sha256:e2a8561e419ab1ba6b2fe6cbdf49fd92b95912df1cf7d313c3e2230a333fdbcc                                                     0.0s
 => ERROR [internal] load metadata for quay.io/evl.ms/fullstaq-ruby:3.1.3-jemalloc-bullseye                                                                                           0.6s
------
 > [internal] load metadata for quay.io/evl.ms/fullstaq-ruby:3.1.3-jemalloc-bullseye:
------
ERROR: failed to solve: rpc error: code = Unknown desc = failed to solve with frontend dockerfile.v0: failed to solve with frontend gateway.v0: rpc error: code = Unknown desc = no match for platform in manifest sha256:989da0f4c3d97f5ecea166c378218f27af24ee563aff328841ad7adfb75c5cfa: not found

I checked hub and noticed that sizes for those images are missing. That probably means, that image was never created, while tags are there?

Screenshot 2023-02-20 at 14 51 49

Workaround

If I downgrade ruby version to ruby 3.1.2 then everything works as expected.

@Envek
Copy link
Member

Envek commented Feb 21, 2023

That's weird, because I can pull that image and it works.

$ docker run -it --pull --rm quay.io/evl.ms/fullstaq-ruby:3.1.3-jemalloc-bullseye
irb(main):001:0> RUBY_VERSION
=> "3.1.3"

However, I can see from Quay.io UI that there are now two images with different OS and architectures: linux on amd64 and unknown on unknown.

Not sure what is going on here, it is either something changed in docker/build-push-action Github Action or in Quay itself. Can't understand yet.

@skatkov
Copy link
Author

skatkov commented Feb 21, 2023

@Envek i'm using Docker version 23.0.0, build e92dd87c32, which requires a different command for that.

docker run -it --pull always quay.io/evl.ms/fullstaq-ruby:3.1.3-jemalloc-bullseye

But I still run into issues, though:

docker: no matching manifest for linux/arm64/v8 in the manifest list entries.

But this is not an issue with 3.1.2

docker run -it --pull  always quay.io/evl.ms/fullstaq-ruby:3.1.2-jemalloc-bullseye
3.1.2-jemalloc-bullseye: Pulling from evl.ms/fullstaq-ruby
17c9e6141fdb: Pull complete
2eb3b01ff398: Pull complete
Digest: sha256:450784210f0ec5e2e72eb7d4d2c3bcc0da3d189072d84b021088d61c92989d48
Status: Downloaded newer image for quay.io/evl.ms/fullstaq-ruby:3.1.2-jemalloc-bullseye
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
irb(main):001:0> RUBY_VERSION
=> "3.1.2"

It doesn't seem, that docker on your computer re-downloaded that image? Could it be that it was cached and you are not really hitting quay?

@Envek
Copy link
Member

Envek commented Feb 21, 2023

$ docker run -it --pull  always quay.io/evl.ms/fullstaq-ruby:3.1.3-jemalloc-bullseye
3.1.3-jemalloc-bullseye: Pulling from evl.ms/fullstaq-ruby
Digest: sha256:989da0f4c3d97f5ecea166c378218f27af24ee563aff328841ad7adfb75c5cfa
Status: Image is up to date for quay.io/evl.ms/fullstaq-ruby:3.1.3-jemalloc-bullseye
irb(main):001:0> 

docker: no matching manifest for linux/arm64/v8 in the manifest list entries.

That error is correct: there are no (and never was) images for ARM64. I'm on x86-64 processor, that's probably why there is no error for me.

The main question here is why your Docker uses AMD64 version for 3.1.2 and fails to do so for 3.1.3.

And I still have no idea, what has changed since last build of 3.1.2 (no logs left, unfortunately) as there were no build-related changes, only version number increase.

@Envek
Copy link
Member

Envek commented Feb 21, 2023

Most probably it is a new provenance feature of Docker BuildKit 0.10 that generates images in another format. This bug report seems to be relevant: docker/setup-buildx-action#187

@Envek
Copy link
Member

Envek commented Feb 21, 2023

Now it should be fixed after I disabled that provenance feature.

@skatkov, can you please check?

@skatkov
Copy link
Author

skatkov commented Feb 21, 2023

@Envek resolved. Thank you for the fast resolution, Andrey.

@skatkov skatkov closed this as completed Feb 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants