A propos du déploiement de builds personnalisés à l'aide de votre propre fichier Dockerfile

Le fichier Dockerfile par défaut a créé l'image à partir de l'image de base (fnproject/python :3.9-dev) et peut manquer diverses versions les plus récentes des packages dépendants. Si vous souhaitez davantage 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, OCI Functions utilise les instructions du fichier Dockerfile personnalisé pour créer l'image Docker.

A propos de la mise à jour de tous les packages

Faites une copie du fichier Dockerfile par défaut et incluez la commande suivante pour mettre à jour les packages avec les dernières versions. Cette commande met à jour tous les packages 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"]

A propos de la mise à jour de packages spécifiques

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

RUN dnf upgrade --cve CVE-2021-0342

RUN dnf upgrade --advisory ELBA-2024-6977