Skip to content

Update base images to Debian Stretch and Alpine 3.6 #504

Closed
@yosifkit

Description

@yosifkit

Bringing together other issues/PRs requesting base image updates: #428, #456, #457, #468, #482, #501.
Should fix theses once we make a PR: #495, #198

We do not want to maintain our PHP images over multiple distro releases in the long term. To update the base image without immediately breaking users like docker-library/golang#131, we'll have to release images based on all four distributions (Alpine 3.4, Alpine 3.6, Debian Jessie, and Debian Stretch) over a few months and then end of life the versions based on the older Linux distributions (Alpine 3.4 and Debian Jessie).


Why not keep all distribution versions longer (Alpine 3.4, 3.6, Jessie, and Stretch)?

  • it takes over ~1.5 hours for travisCI to test current PRs, this would close to double that (28 uniq tags to ~49)
  • it will increase update delay since the build server would also have to build the extra versions

We are thinking something like this:

  • release all versions and variants of the PHP images on current disto base and newer distro base (we'll use 1st November 2017 in this exploration)
    • so for example, Alpine based images would have tags for php:7.1-alpine3.4 and php:7.1-alpine3.6
    • and the Debian based images would be php:7.1-jessie and php:7.1-stretch
    • current less-specific tags would stay pointing to the older distro (php:7.1-alpine would still be alpine 3.4)
  • add note about this process for future base image updates
  • place large note on Docker Hub description that images based on older distributions (alpine 3.4 and debian:jessie) will be EOL in 3 months (with an exact date like 1st February 2018)
    • use deprecation notice
    • explain that generic tags like php:7.1-alpine will continue to contain Alpine 3.4 until that date and instead encourage users to switch to php:7.1-alpine3.4 to stick to a specific Linux Distro
    • they will switch over to Alpine 3.6 on that date and the same for jessie/stretch
    • remind users that 7.2 is Alpine 3.6 and stretch only
  • on specified EOL date, remove Alpine 3.4 and Debian Jessie based images from the Supported List
    • users can still docker pull, but the images would no longer be rebuilt with base image changes or version bumps

I think @tianon and I could tackle something like this in the next week or two. Any suggestions or comments?

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