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

Add unofficial build notice for Node Alpine #2484

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

LaurentGoderre
Copy link
Member

No description provided.

Copy link
Contributor

@whalelines whalelines left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The markdown formatter appears to have an issue with this change. Perhaps the missing newline at the end of the file?

@tianon
Copy link
Member

tianon commented Aug 27, 2024

I'm guessing you excluded the latter two paragraphs of https://github.com/docker-library/docs/blob/dcac2322f4db6bbf2cfdc2fc726298aae1355443/.template-helpers/variant-alpine.md intentionally -- I'm not opposed, but maybe you can elaborate on why you didn't include them? Aren't they still relevant to Node's Alpine variants?

node/variant-alpine.md Outdated Show resolved Hide resolved
@SimenB
Copy link

SimenB commented Aug 28, 2024

Should we link to https://github.com/nodejs/node/blob/main/BUILDING.md#platform-list somewhere, to let people know musl support is considered experimental by the node project?

@tianon
Copy link
Member

tianon commented Oct 9, 2024


This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images.

To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar).

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm unsure if we should provide such a comprehensive context that is not directly related to the original discussion, though it might not hurt.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@PeterDaveHello
Copy link

Just a very small question, but overall, I'm good with it.


This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general.

Please be aware that our Node.js Alpine Docker images use builds from https://unofficial-builds.nodejs.org/, which are not signed by the official Node.js release team. These builds are chosen to ensure compatibility and performance within the Alpine environment. We share this information for transparency and to help you make informed decisions regarding your application setup.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this should mention:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's not truely maintained by the Build team (2 of the build Team people have access), it's partially maintained on a best-effort through the unofficial builds.
There has been conversations around bumping it up to officially supported, but there hasn't been anyone step forward to be able to official troubleshoot in case there is a release failure on musl

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

Successfully merging this pull request may close these issues.

6 participants