-
Notifications
You must be signed in to change notification settings - Fork 16
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
Feasibility of switching Linux images to Debian #11
Comments
@davidalger, could you review? |
Update - I have rebuilt all PHP images using the official PHP images based on Debian and also installed all necessary extensions using the php-extension-installer in my branch https://github.com/drpayyne/docker-php/tree/debian. |
I am aware of this, yes.
At this point 7.3 and 7.2 can be left behind (7.2 is already EOL and 7.3 is about to be in December) but at minimum 7.4 and 8.0 would need to be covered (ideally 8.1 as well). Do you know if we can cover all three of these versions?
These may work for many things, but there can also be a host of issues created as a result of the use of Alpine which uses @ihor-sviziev Caught me right as I was typing up a reply. My apologies for the delay. @drpayyne Definitely appreciate your efforts and ideas. I wish I had an M1 Mac (or ARM based Linux) laying around to try them on myself. Need to review what you did here (wardenenv/warden#399 (comment)) and see what can be easily brought in. Time is my limiting resource atm. |
Looks like PHP 8.0 will be available in Fedora 35, and 8.1 planned for Fedora 36. Doesn't sound like dual version, or even keeping 7.4 support is planned. https://fedoraproject.org/wiki/Changes/php80 |
Btw afaik GitHub actions does support arm based builds. Maybe, we can write some simple tests? |
yes, it does. I have been building all my images using reusable GitHub actions.
About the base Docker image, I feel we can use the official PHP image which has many variants. We can use the bullseye version of Debian and no need to use Alpine or Fedora. All the available version can be found at https://github.com/docker-library/docs/tree/master/php.
About the loaders having issues on Alpine, it installs well on Debian for PHP 7.4 and 8.0. The version support matric is documented at https://github.com/mlocati/docker-php-extension-installer. Thanks for the response, @davidalger @ihor-sviziev! |
The PHP versions are definitely supported officially more than any other source, but the extensions aren't entirely ready yet for 8.1. ioncube for example, isn't supported for 8.1 using the extensions-installer method, but that's due to the unavailable upstream support, which I feel would come once 8.1 is GA. |
IonCube doesn't even support PHP 8.0 at this point. They're super slow to release updates for new versions of PHP. SourceGuardian is typically available very shortly after GA releases. |
Interesting. In that case, installing extensions shouldn't be a problem. And we can use debian-bullseye instead of alpine since you've described it having issues. |
CentOS 8 already reached the end of life Looks like we should migrate to Fedora, https://rockylinux.org/ or something similar. |
+1 for moving to the official docker images, both for PHP and for other services used by the warden project, for the reasons already mentioned. I'm wondering what would be the most appropriate way to approach the distro hop in terms of image naming. Taking over the existing names is going to cause trouble for (some) users and downstream projects. But slapping on a
This is still solveable, but something worth considering before settling on a naming strategy for images based on a new distro. |
FYI the base image has been switched to |
Hi @drpayyne, |
Sure @ihor-sviziev, I was planning to do the same but wanted to wait for @davidalger to chime in. I've added you as a collaborator to my fork of docker-php. Please create a new branch with any extra changes you feel necessary and create a PR from the new-branch so that this repo remains stable. Thank you! |
All linux-based images (PHP, Varnish, etc.) currently use
centos:8
. The main issue that I came across with this is that, there are no ARM builds for PHP. Remi doesn't have ARM builder, so there's no ETA on this either. This is currently the biggest blocker that I've come across while trying to make Warden multi-platform (Intel & Apple Silicon).My current approach: https://github.com/drpayyne/docker-php. I have rebuilt all the four images (CLI & FPM, both with & without loaders) as multi-platform Docker images. BUT. I had to switch to Fedora. Since Remi doesn't provide PHP for ARM, and neither does CentOS itself (CentOS provides some extensions, but not all). I had to switch to Fedora, which provides PHP and all its extensions for both platforms.
My question: can we either switch to Fedora... or... Debian?
Our two main dependencies in this repo are - Docker and PHP. Why not use the official PHP Docker image? Its homepage lists all the available tags and guides.
These official PHP Docker images use Debian underneath so here's my question. Is it feasible to switch to these images? For supporting both platforms, for quick updates, for official support, etc.
I currently have made Warden work with PHP 7.4 on my Apple Silicon, but 7.3 is looking very tough to make work, and I've no idea about 8.0 yet - USING Fedora. On the other hand, switching to these official PHP Docker images seem like the right way forward.
Am I blatantly missing anything? What are your thoughts? I'm actively trying to make Warden work as smooth as possible for both platforms, so any feedback is appreciated. Thank you!
The text was updated successfully, but these errors were encountered: