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