Les applications PHP récentes nécessitent une extension php spécifique sodium
. Cette extension n’est pas disponible dans les images php de base (ubi8/php et ubi9/php). Il faut pour cela une ressource BuildConfig spécifique comme par exemple :
kind: BuildConfig
apiVersion: build.openshift.io/v1
metadata:
name: php-sodium
spec:
output:
to:
kind: ImageStreamTag
name: 'php-sodium:latest'
resources:
limits:
cpu: '1'
memory: 1Gi
requests:
cpu: '1'
memory: 1Gi
strategy:
type: Docker
dockerStrategy:
from:
kind: ImageStreamTag
namespace: openshift
name: 'php:8.0-ubi9'
source:
type: Dockerfile
dockerfile: >
FROM registry.access.redhat.com/ubi9/php-80:latest
USER root
RUN dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm \
&& dnf install -y nc php-cli libsodium \
&& dnf install -y php-pear php-devel libsodium-devel make \
&& cd /tmp \
&& wget https://pecl.php.net/get/libsodium-2.0.23.tgz \
&& tar zxf libsodium-2.0.23.tgz \
&& cd libsodium-2.0.23 \
&& phpize \
&& ./configure \
&& make; make install \
&& dnf remove -y php-pear php-devel libsodium-devel make \
&& echo 'extension=sodium.so' > /etc/php.d/20-sodium.ini \
&& php -i | grep sodium \
&& dnf clean all && cd && rm -rf /tmp/libsodium-2.0.23* /tmp/package.xml
COPY . /tmp/src/
RUN chown -R 1001:0 /tmp/src
USER 1001
RUN /usr/libexec/s2i/assemble
CMD ["/usr/libexec/s2i/run"]
runPolicy: Serial
Vous pouvez faire la même chose avec php 81