DEV Community

Discussion on: Moving away from Alpine

Collapse
 
quinnjr profile image
Joseph Quinn

Just going to provide counter-points:

  • glibc is available for use on Alpine and musl is available for use on Ubuntu. Use of musl does not guarantee that an application will not work on Ubuntu. Musl is meant more for static compilation and doesn't usually rely on the underlying C library using dynamic links. Unless something is using a glibc-specific GNU extension or something that isn't implemented in musl yet, it should be able to compile and run based on musl or glibc.

  • You can pin versions fairly easily when adding them. Eg: apk add python3=3.8.2-r0 pins to version 3.8.2 release 0.

  • Automating unavailable packages can be managed with your own custom APK builds (which you should then submit) or an automated build system. I use a heavily customized Nginx install for my production Docker images and have no issue compiling each release from source.

  • If you really need more out of syslog, use the syslog-ng package.

Collapse
 
tomcooperca profile image
Tom Cooper • Edited

While you can pin package versions, version pinning in Alpine leads to broken builds eventually. They do not keep old versions of any package (even for stable releases) on the repositories. The recommendation is to mirror these repos yourself.

gitlab.alpinelinux.org/alpine/abui...