Planned enhancement: Drop alpine image and Switch default image to debian
Is your feature request related to a problem? Please describe.
Historically, v1.x.y-1.0 v1.x-y or edge was designed to point alpine image.
but alpine image was already marked as deprecated. See README.md.
There is no reason to provide alpine image anymore.
Describe the solution you'd like
In the future release, switch default image from alpine to debian and drop alpine support.
e.x.
- Keep alpine for v1.18 series
- Drop alpine for v1.19 series
- v1.19.0-1.0, v1.19-1, edge just points debian image
Describe alternatives you've considered
- Keep alpine for v1.16 (LTS), v1.18 series
- Drop alpine for v1.19 series
- Discontinue v1.19.0-1.0 v1.19-1, edge tagging
Additional context
See #422
Policy: Drop alpine for newer Fluentd release (v1.19)
Action:
-
Keep alpine for v1.16 (LTS), v1.18 series
- Thus v1.16 image will be supported until Dec 2025. (because fluent-package v5 LTS adopt v1.16. follow that support lifecycle)
- until v1.19 release, keep v1.18 alpine series. support lifecycle is not determined yet. In other words, if v1.19 was released, stop v1.18 image support. (it becomes short lifecycle than v1.16/alpine)
-
Drop alpine for v1.19 series
-
Rebrand v1.19.0-1.0, v1.19-1 tag
- It uses Debian as base image. This is incompatible changes for custom image users.
-
Drop edge tag support
- edge tag kept alpine image, and not updated anymore.
-
Introduce version specific latest tag
- e.g. v1.19-debian (latest v1.19.x)
-
Introduce edge replacement
- e.g.
latestalways link latest version of v1.NN image (e.g. same as v1.19.x-)
- e.g.
-
https://github.com/docker-library/official-images/blob/master/library/fluentd
- Drop v1.16/alpine, v1.18/alpine
Users Action:
- alpine image user must migrate from alpine to Debian image
- If still want to use alpine, keep v1.16 series or v1.18 series
- v1.16 alpine image will be supported until Dec 2025, so gradually migrate it.
- v1.18 alpine image will soon not be supported when v1.19 was released, so migrate it immediately!
- If you just want to use latest version of Fluentd, pull fluent/fluentd:latest. (not released yet)
- If you want to version specific, pull fluent/fluentd:v1.19-debian and so on (not released yet)
Timeline:
- March 2025: Announce docker image enhancement (Fluentd official blog)
- (T.B.D.): Fluentd v1.19 will be shipped. It will be bundled for fluent-package v6
- (T.B.D.): Drop alpine support for v1.19, switch tag management. (Drop
edge, instroducelatestand so on) - (T.B.D.): Drop v1.18/alpine support for docker-library
- Dec 2025: Drop alpine support for v1.16 branch
- Dec 2025: Drop alpine support for docker-library
Revised proposal
Policy: Drop alpine for newer Fluentd release (v1.19)
Action:
-
Keep alpine for v1.16 (LTS), v1.18 series
- Thus v1.16 image will be supported until Dec 2025. (because fluent-package v5 LTS adopt v1.16. follow that support lifecycle)
- until v1.19 release, keep v1.18 alpine series. support lifecycle is not determined yet. In other words, if v1.19 was released, stop v1.18 image support. (it becomes short lifecycle than v1.16/alpine)
-
Drop alpine for v1.19 series
-
Rebrand v1.19.0-1.0, v1.19-1 tag
- It uses Debian as base image. This is incompatible changes for custom image users.
-
Introduce version specific latest tag
- e.g. v1.19 (latest v1.19 series, same as v1.19-debian) just a short alias
- e.g. v.1.19.x (latest v1.19.x series, same as v1.19.x-debian) just a short alias
- e.g. v1.19-debian (latest v1.19.x)
- e.g. v1.19.x-debian (latest v1.19.1, accept v1.19.1-1.0, v1.19.1-1.1, ...)
-
Introduce edge replacement
- e.g.
edgealways point latest version of v1.NN image (e.g. same as v1.19-debian)
- e.g.
-
https://github.com/docker-library/official-images/blob/master/library/fluentd
- Drop v1.16/alpine, v1.18/alpine
Users Action:
- alpine image user must migrate from alpine to Debian image
- If still want to use alpine, keep v1.16 series or v1.18 series
- v1.16 alpine image will be supported until Dec 2025, so gradually migrate it.
- v1.18 alpine image will soon not be supported when v1.19 was released, so migrate it immediately!
- If you use edge (alpine) image, it will be changed to debian image suddenly.
- If you just want to use latest version of Fluentd, pull fluent/fluentd:latest. (not released yet)
- If you want to version specific, pull fluent/fluentd:v1.19-debian and so on (not released yet)
Appendix:
In the past, latest tag is used, but it has v0.xx- prefix or suffix, so it doesn't affect existing users.
latest tags:
- v0.12-latest-onbuild
- v0.12-latest
- latest-onbuild
- v0.14-latest-onbuild
- v0.14-latest
stable tag will not be touched.
stable tags:
- stable-debian-armhf-onbuild
- stable-debian-armhf
- stable-debian
- stable-debian-onbuild
- stable-onbuild
Concerns
- Does that work without hub.docker.com API quota?
Timeline:
- March 2025: Announce docker image enhancement (Fluentd official blog)
- (T.B.D.): Fluentd v1.19 will be shipped. It will be bundled for fluent-package v6
- (T.B.D.): Drop alpine support for v1.19, switch tag management. (
edgereplacement, introducelatestand so on) - (T.B.D.): Drop v1.18/alpine support for docker-library
- Dec 2025: Drop alpine support for v1.16 branch
- Dec 2025: Drop alpine support for docker-library
Published this idea on Fluentd website blog:
Drop Alpine and switch default to Debian for Fluentd docker image
Thanks! I agree with this direction!
Tried minor improvement before switching to Debian completely.
https://github.com/fluent/fluentd-docker-image/pull/427
Backport to v1.16 branch.
https://github.com/fluent/fluentd-docker-image/pull/428
Introduce version specific latest tag
e.g. v1.19 (latest v1.19 series, same as v1.19-debian) just a short alias
e.g. v.1.19.x (latest v1.19.x series, same as v1.19.x-debian) just a short alias
e.g. v1.19-debian (latest v1.19.x)
e.g. v1.19.x-debian (latest v1.19.1, accept v1.19.1-1.0, v1.19.1-1.1, ...)
The proposed version-specific tag mechanism was partially introduced to the master and v1.16 branch. (something like v1.19 or v1.19.x shorter versioning was not supported yet because it requires switching to Debian by default)
Now, the following tags were introduced for v1.18 series.
- v1.18.0-debian
- v1.18-debian
- latest
Thus you can follow specific versions without internal version bumps.
For v1.16 series, also the following tags were introduced.
- v1.16-debian
- v1.16.7-debian
- v1.16.7-debian-ARCH (e.g. v1.16.7-debian-amd64)
Now v1.19.0 has been deployed, alpine image was dropped and switched to default image to debian.
⚠️ Breaking Change in v1.19: default UID Changed
Starting from version 1.19, the default UID (User ID) of the fluent user in the container image has been changed. This update may cause Permission denied errors if you are mounting host directories or volumes that rely on the previous UID.
If you encounter permission issues, please update the ownership of your host directories to match the new UID, or explicitly specify the user when running the container (e.g., using the -u option).
Please refer to https://github.com/fluent/fluentd-docker-image/issues/448 for details.
NOTE: it is important to notify breaking change in v1.19, so create new issue and pin it with the following content.
https://github.com/fluent/fluentd-docker-image/issues/424#issuecomment-3604728325