Informazioni sulla distribuzione di build personalizzate mediante il proprio dockerfile

Il Dockerfile predefinito ha creato l'immagine dall'immagine di base (fnproject/python:3.9-dev) e potrebbero mancare varie versioni più recenti dei pacchetti dipendenti. Se vuoi un maggiore controllo sull'immagine Docker creata, puoi creare il tuo Dockerfile. Quando si crea o distribuisce la funzione, le funzioni OCI utilizzano le istruzioni nel Dockerfile personalizzato per creare l'immagine Docker.

Informazioni sull'aggiornamento di tutti i pacchetti

Effettuare una copia del Dockerfile predefinito e includere il seguente comando per aggiornare i pacchetti con le versioni più recenti. Questo comando aggiorna tutti i pacchetti con le versioni più recenti, inclusi gli aggiornamenti di sicurezza. Salvare il Dockerfile nella directory che contiene il file func.yaml.
RUN microdnf update

La versione finale di Dockerfile potrebbe essere simile alla seguente:

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

Informazioni sull'aggiornamento di package specifici

È possibile aggiornare CVE o advisory specifici aggiungendo i seguenti comandi al Dockerfile (se non si desidera aggiornare tutti i pacchetti).
RUN microdnf install dnf

RUN dnf upgrade --cve CVE-2021-0342

RUN dnf upgrade --advisory ELBA-2024-6977