В чем суть собирать образ php на ubuntu против php?
Чтобы уменьшить окончательный размер образа, и тащить только то, что необходимо для работы приложения.
Если вас полностью устраивает вариант FROM ubuntu - используйте его, тк в нём ещё, в отличие от alpine, используется стандартный glibc, вместо компактного в альпайне.
Используй бинарные пакеты, не надо собирать из исходников.
PHP бери в sury репозитории (потомучто удобно). Если не накосячишь со слоями размер итогового образа не превысит 250 мегабайт.
У тебя получилось больше 600 и это странно, видимо ты забыл стереть мусор или сделал это неправильно, например в другом слое.