nodejs / docker-node

Official Docker Image for Node.js :whale: :turtle: :rocket:
https://hub.docker.com/_/node/
MIT License
8.27k stars 1.97k forks source link

Missing ARM32v6 platform for some Node.js 18 alpine tags #1772

Open Hazmi35 opened 2 years ago

Hazmi35 commented 2 years ago

Environment

Expected Behavior

ARM32v6 platform exists in all Node.js 18 alpine tags

Current Behavior

Some Node.js 18 alpine tags does not contain the ARM32v6 platforms

For example 18.9.0-alpine and 18.9-alpine does not contain ARM32v6 platforms, but 18-alpine does.

Additional Information

image image image

SimenB commented 2 years ago

@tianon @yosifkit any idea?


For example 8.9.0-alpine

I assume you mean 18 🙂

EDIT: actually, quite sure as that's what the screenshot shows 😀

Hazmi35 commented 2 years ago

I assume you mean 18 :slightly_smiling_face:

Yes, sorry, it's edited now

tianon commented 2 years ago

From the logs, it looks like the build took so long it timed out -- I've given it another try now, and hopefully it works this time. (If it doesn't, we'll want to look into why this latest build of 18 is taking so much longer to build on this one architecture. :sweat_smile:)

tianon commented 2 years ago

It took a very long time (almost two hours per build, compared to roughly half of one for previous builds of 18 on that same architecture :weary:), but it's finally built successfully! Those builds should be pushed and available Soon. :+1:

Hazmi35 commented 2 years ago

Some Node.js 18 builds seems to be failed again, (ARM32v6 and ARM32v7?)

tianon commented 2 years ago

:weary: indeed -- I wonder what's so different about these recent Node.js 18 releases that they're taking so much longer to build on 32bit ARM than the previous point releases did? :thinking:

SimenB commented 2 years ago

@nodejs/build ^ any ideas?

richardlau commented 2 years ago

Are builds using compilation caches from previous builds (e.g. ccache)? If so any release with any sort of update to V8 (patches/backports etc) would potentially invalidate the cache for the bulk of the build.

tianon commented 2 years ago

Nope, each build is 100% independent of any previous build (the only cache is the Docker build cache, which is only going to be a cache of the top layers that install dependencies, etc).

Hazmi35 commented 2 years ago

ARM32v7 platform is also failing too now, 18.10.0-alpine doesn't have the same platforms as 18-alpine

tianon commented 2 years ago

It took a few tries, but this is now fixed again.

sxa commented 2 years ago

Side question (I'm curious!) what are people's use cases for Alpine on armv6l? I'd be surprised if there were many such systems out there that you'd want to run anything in docker containers onm but I guess if it's been noticed there is some demand for it.

lucas42 commented 1 year ago

Side question (I'm curious!) what are people's use cases for Alpine on armv6l?

@sxa My use case is that I've written a javascript-based music player. It mostly runs in the browser, but there's a few cases where I want to run it where there isn't a browser environment available. So I run the logic in node, deployed on a raspberry pi. In the past few years, raspberry pis have been in limited supply, meaning I have to make do with whichever model is available. Wrapping the code in docker generally makes it easy to deploy across most models of raspberry pi, but the differences in architecture means I do hit problems like this one now and again.

pabl-o-ce commented 2 months ago

someone create snowdreamtech/node:latest this give full support for arm32v6 please can you give official support :)

tianon commented 2 months ago

The Alpine variants of Node.js 18, 20, and 22 all have support for arm32v6 (see https://oci.dag.dev/?image=node:22-alpine for example).

pabl-o-ce commented 2 months ago

yeah I figure out! thank for the reply... the only thing I keep failing to install this package at arm32v6 RUN apk add --no-cache libc6-compat just to put a small nextjs web if anyone have any guide to do that happy to read it!

nevertheless thank u :)