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