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

The 1.21.1-alpine tag on Docker Hub is missing multple OS/ARCH entries #561

Closed
JonasAlfredsson opened this issue Jul 9, 2021 · 13 comments
Closed

Comments

@JonasAlfredsson
Copy link

Hi,

I am building an image for multiple architectures from this image and ran into the following error for the linux/386 platform when building from the 1.21.1-alpine tag:

error: failed to solve: rpc error: code = Unknown desc = failed to solve with frontend dockerfile.v0: failed to create LLB definition: no match for platform in manifest

Looking at it on Docker Hub we indeed see that it is only available for the following architectures:

  • linux/arm64/v8
  • linux/arm/v7
  • linux/arm/v6
  • linux/amd64

This is very weird since the 1.21-alpine tag has also the following ones:

  • linux/ppc64le
  • linux/s390x
  • linux/386

so something must have gone wring in the push that was made.

@thresheek
Copy link
Collaborator

The x86 issue is known as there is no mercurial anymore in alpine 3.14 for this architecture. Maybe we should do something about it, but I'd rather wait for alpine to sort it out on their own.

For ppc64le and s390x it seems Docker Library builders are stuck/unavailable, so there isnt much we can do at this moment.

cc @tianon @yosifkit

@JonasAlfredsson
Copy link
Author

Thanks for the swift response.
Glad that this is a known issue, but I am a little bit unsure what this means. Will Alpine stop serving x86 builds of Nginx and this ARCH should be dropped from my automated builds?

@yosifkit
Copy link
Contributor

yosifkit commented Jul 9, 2021

make: mkdir: Operation not permitted

s390x and ppc64le are likely to be suffering the same bug as our php image builds docker-library/php#1178 (comment).

@tianon
Copy link
Contributor

tianon commented Aug 20, 2021

This is fixed for ppc64le and s390x -- for i386, I'm not convinced it's going to be, but maybe? 🤷 😅

@JonasAlfredsson
Copy link
Author

That is some good news, thanks for posting the update :)
However, what are the plans for 386 going forward? Should this issue remain open, or will that arch be discontinued for Alpine?

quentincaffeino added a commit to quentincaffeino/docker-nginx-brotli-so that referenced this issue Sep 23, 2021
JonasAlfredsson added a commit to AxisCommunications/docker-nginx-ldap that referenced this issue Oct 6, 2021
This change also drops support for the i386 arch for Alpine.
This is because Alpine seems to have stopped building all the necessary
stuff for 32 bit systems, so our parent image cannot be built.

More info:
JonasAlfredsson/docker-nginx-certbot#77
nginxinc/docker-nginx#561
JonasAlfredsson added a commit to AxisCommunications/docker-nginx-ldap that referenced this issue Oct 6, 2021
This change also drops support for the i386 arch for Alpine.
This is because Alpine seems to have stopped building all the necessary
stuff for 32 bit systems, so our parent image cannot be built.

More info:
JonasAlfredsson/docker-nginx-certbot#77
nginxinc/docker-nginx#561
@SymbioticKilla
Copy link

Is this issue causing this one?
goharbor/harbor#15739

@tianon
Copy link
Contributor

tianon commented Oct 11, 2021

Yep, looks pretty likely to me.

@thresheek
Copy link
Collaborator

Fixed in nginx:1.21.4 for Debian and in nginx:1.21.4-alpine for Alpine.

@lucacome
Copy link
Member

It seems like there are still some issues. For example nginx:1.21.4 is missing linux/386 even though it's available for nginx:1.21.

@thresheek
Copy link
Collaborator

Hmm, interesting. @yosifkit @tianon ^^^ can you elaborate why that could have happened?

@thresheek thresheek reopened this Nov 10, 2021
@yosifkit
Copy link
Contributor

It is failing to find the nginx package on i386. The binary-i386 directory seems to be missing on the apt repo for bullseye (but is there for buster): https://nginx.org/packages/mainline/debian/dists/bullseye/nginx/, so it is not getting a Packages.gz list. The desired version of .deb files do exist in the pool/nginx/n/ folders.

+ dpkgArch=i386
+ nginxPackages=         nginx=1.21.4-1~bullseye         nginx-module-xslt=1.21.4-1~bullseye         nginx-module-geoip=1.21.4-1~bullseye         nginx-module-image-filter=1.21.4-1~bullseye         nginx-module-perl=1.21.4-1~bullseye         nginx-module-njs=1.21.4+0.7.0-1~bullseye     
+ echo deb https://nginx.org/packages/mainline/debian/ bullseye nginx
+ apt-get update
Get:1 http://deb.debian.org/debian bullseye InRelease [116 kB]
Get:2 http://security.debian.org/debian-security bullseye-security InRelease [44.1 kB]
Get:3 http://deb.debian.org/debian bullseye-updates InRelease [39.3 kB]
Get:4 http://security.debian.org/debian-security bullseye-security/main i386 Packages [90.4 kB]
Get:5 http://deb.debian.org/debian bullseye/main i386 Packages [8119 kB]
Get:6 http://deb.debian.org/debian bullseye-updates/main i386 Packages [2592 B]
Get:7 https://nginx.org/packages/mainline/debian bullseye InRelease [2860 B]
Fetched 8414 kB in 2s (4958 kB/s)
Reading package lists...
+ apt-get install --no-install-recommends --no-install-suggests -y nginx=1.21.4-1~bullseye nginx-module-xslt=1.21.4-1~bullseye nginx-module-geoip=1.21.4-1~bullseye nginx-module-image-filter=1.21.4-1~bullseye nginx-module-perl=1.21.4-1~bullseye nginx-module-njs=1.21.4+0.7.0-1~bullseye gettext-base curl
Reading package lists...
Building dependency tree...
Reading state information...
E: Version '1.21.4-1~bullseye' for 'nginx' was not found
E: Unable to locate package nginx-module-xslt
E: Unable to locate package nginx-module-geoip
E: Unable to locate package nginx-module-image-filter
E: Unable to locate package nginx-module-perl
E: Unable to locate package nginx-module-njs

@lucacome
Copy link
Member

Ah that makes sense. I saw that the tag for 1.21 was updated and assumed it was 1.21.4, but it's actually still 1.21.3 for i386 (it was updated for all other archs) https://hub.docker.com/layers/nginx/library/nginx/1.21/images/sha256-387da9849102b73c06e645a8f0f40c72fae755f20d33391596041a4dcf8284a9?context=explore

@thresheek
Copy link
Collaborator

Ok, should be fixed with todays images for 1.21.1 and 1.20.2.

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

6 participants