Acerca del despliegue de compilaciones personalizadas con su propio archivo Dockerfile

El archivo Dockerfile por defecto ha creado la imagen a partir de la imagen base (fnproject/python:3.9-dev) y puede que falten varias versiones más recientes de paquetes dependientes. Si desea tener más control sobre la imagen de Docker creada, puede crear su propio archivo Dockerfile. Al crear o desplegar la función, OCI Functions utiliza las instrucciones del archivo Dockerfile personalizado para crear la imagen de Docker.

Acerca de la actualización de todos los paquetes

Realice una copia del archivo Dockerfile por defecto e incluya el siguiente comando para actualizar paquetes con versiones más recientes. Este comando actualiza todos los paquetes con las últimas versiones, incluidas las actualizaciones de seguridad. Guarde el archivo Dockerfile en el directorio que contiene el archivo func.yaml.
RUN microdnf update

La versión final de Dockerfile puede parecerse a la siguiente:

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"]

Acerca de la actualización de paquetes específicos

Puede actualizar CVE o asesor específicos agregando los siguientes comandos a su archivo Dockerfile (si no desea actualizar todos los paquetes).
RUN microdnf install dnf

RUN dnf upgrade --cve CVE-2021-0342

RUN dnf upgrade --advisory ELBA-2024-6977