Skip to content

Generate Images for multiple versions of Alpine #473

Description

@erutherford

Right now it seems as though each node release is tied to a specific release of Alpine (for the Alpine tags). I wonder if it'd be feasible to offer a default tag 6.11.1-alpine, but also tags mapped to specific versions of alpine 6.11.1-alpine3.6, 6.11.1-alpine3.4, etc. similar to what the official golang docker images are doing.

Activity

  1. nschonni commented on Jul 24, 2017

    @nschonni
    Member

    Related #406

  2. SimenB commented on Jul 25, 2017

    @SimenB
    Member

    I like this, that way older node images can opt-in to newer alpine bases.

    @nodejs/docker thoughts?

  3. SimenB commented on Jul 26, 2017

    @SimenB
    Member
  4. chorrell commented on Jul 26, 2017

    @chorrell
    Contributor

    I like this too and it's an approach Docker is using for the images they maintain.

  5. Starefossen commented on Jul 27, 2017

    @Starefossen
    Member

    How does the different Alpine versions lign up with Node.js LTS versions? Do we risk ending up with unmaintained Alpine versions for maintained LTS versions of Node.js if we do this?

  6. SimenB commented on Jul 27, 2017

    @SimenB
    Member

    Do we risk ending up with unmaintained Alpine versions for maintained LTS versions of Node.js if we do this?

    If anything, the risk is lower than the current status (which has alpine 3.4 for node 6). If we do this, people on node 6 (like we are at work, although we'll go to 8 as soon as it's LTS) can still use alpine 3.6

  7. erutherford commented on Jul 27, 2017

    @erutherford
    Author

    I think it's a mistake to couple the OS version with the LTS status of the node.js release. The OS that it's delivered on doesn't change that contract and providing multiple versions with different operating systems puts the decision in the user's hands. The issue I see now is that we either take what's currently offered, alpine-3.4 with the LTS node for instance or building the image ourselves.

  8. Starefossen commented on Jul 27, 2017

    @Starefossen
    Member

    That is only partly correct. LTS stands for Long Term Support and the contract as it reads to users is a stable and supported version. If we put an LTS version of Node.js on top of an operating system that stops receiving critical security patches during the software's lifetime it is not strictly long term support.

  9. erutherford commented on Jul 27, 2017

    @erutherford
    Author

    Understood, but LTS is talking about the node.js release, not the underlying OS. By making several versions of the OS available, you're allowing the user to decide. It's not saying the whole docker image is LTS, it's simply stating that you have an LTS version of node.js on a specific OS.

  10. Starefossen commented on Jul 28, 2017

    @Starefossen
    Member

    Agreed! It looks like Alpine Linux does not have any LTS versions, each stable version is supported for 2 years according to this document. We could include these support dates along with different tag information.

  11. wojciechorzechowski commented on Jan 3, 2018

    @wojciechorzechowski

    Any plans to go with alpine 3.7 for node 8 ?
    I would do the change, but there is no guide how to have multiple versions of alpine

  12. LaurentGoderre commented on Jan 3, 2018

    @LaurentGoderre
    Member

    Is alpine the only OS we would do this for?

  13. LaurentGoderre commented on Jan 3, 2018

    @LaurentGoderre
    Member

    I think we should have sub folder in the alpine folders with alpine version and adapt the update script to use the same node js version logic for the alpine version.

  14. LaurentGoderre commented on Jan 3, 2018

    @LaurentGoderre
    Member

    One problem though I see with that is it's possible that if we maintain multiple alpine versions is that the build will stop working because the alpine build is over 50% of the build time. If we build two or more, we are likely to hit the max build time

  15. chorrell commented on Jan 3, 2018

    @chorrell
    Contributor

    Yeah, ideally if we start adding multiple Alpine versions we'd want to have native node.js musl/alpine binaries rather than building from source each time.

  16. 4 remaining items

  17. chorrell commented on Mar 19, 2018

    @chorrell
    Contributor

    The ci build times are a big part of it. It adds to how long it takes for the PR to land on the official hub repo, and then for the images to be released. Adding images for each supported release of Alpine would add a pretty significant amount of time to the ci-run.

  18. chorrell commented on May 25, 2018

    @chorrell
    Contributor

    Closing per #725 (comment)

    Rather than maintain multiple versions of Alpine we're just going to update to the latest available version when we push out Node.js updates. The current alpine image variants will all eventually be at 3.7

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions