À 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