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