À propos du déploiement de versions personnalisées à l'aide de votre propre fichier Dockerfile

Le fichier Dockerfile par défaut a créé l'image à partir de l'image de référence (fnproject/python :3.9-dev) et pourrait manquer diverses dernières versions des packages dépendants. Si vous voulez plus de contrôle sur l'image Docker créée, vous pouvez créer votre propre fichier Dockerfile. Lorsque vous créez ou déployez la fonction, le service des fonctions pour OCI utilise les instructions du fichier Dockerfile personnalisé pour créer l'image Docker.

À propos de la mise à jour de tous les ensembles

Faites une copie du fichier Dockerfile par défaut et incluez la commande suivante pour mettre à jour les ensembles avec les dernières versions. Cette commande met à jour tous les ensembles avec les dernières versions, y compris les mises à jour de sécurité. Enregistrez le fichier Dockerfile dans le répertoire contenant le fichier func.yaml.
RUN microdnf update

Votre version finale de Dockerfile peut ressembler à ce qui suit :

FROM fnproject/python:3.9-dev as build-stage

WORKDIR /function

ADD requirements.txt /function/

                                           RUN pip3 install --target /python/  --no-cache --no-cache-dir -r requirements.txt &&\

                                               rm -fr ~/.cache/pip /tmp* requirements.txt func.yaml Dockerfile .venv &&\

                                               chmod -R o+r /python

ADD . /function/

RUN rm -fr /function/.pip_cache

FROM fnproject/python:3.9

WORKDIR /function

COPY --from=build-stage /python /python

COPY --from=build-stage /function /function

RUN chmod -R o+r /function

ENV PYTHONPATH=/function:/python

RUN microdnf update

ENTRYPOINT ["/python/bin/fdk", "/function/func.py", "handler"]

À propos de la mise à jour d'ensembles spécifiques

Vous pouvez mettre à jour un CVE ou un avis spécifique en ajoutant les commandes suivantes à votre fichier Dockerfile (si vous ne souhaitez pas mettre à jour tous les ensembles).
RUN microdnf install dnf

RUN dnf upgrade --cve CVE-2021-0342

RUN dnf upgrade --advisory ELBA-2024-6977