Sobre a Implantação de Builds Personalizados Usando o Seu Próprio Dockerfile

O Dockerfile padrão criou a imagem a partir da imagem de linha de base (fnproject/python:3.9-dev) e pode estar faltando várias versões mais recentes de pacotes dependentes. Se você quiser mais controle sobre a imagem do Docker criada, poderá criar seu próprio Dockerfile. Quando você cria ou implanta a função, o OCI Functions usa as instruções no Dockerfile personalizado para criar a imagem do Docker.

Sobre a atualização de todos os pacotes

Faça uma cópia do Dockerfile padrão e inclua o comando a seguir para atualizar pacotes com as versões mais recentes. Este comando atualiza todos os pacotes com as versões mais recentes, incluindo atualizações de segurança. Salve o Dockerfile no diretório que contém o arquivo func.yaml.
RUN microdnf update

Sua versão final do Dockerfile pode se assemelhar ao seguinte:

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

Sobre a atualização de pacotes específicos

Você pode atualizar um CVE ou um aviso específico adicionando os comandos a seguir ao seu Dockerfile (se não quiser atualizar todos os pacotes).
RUN microdnf install dnf

RUN dnf upgrade --cve CVE-2021-0342

RUN dnf upgrade --advisory ELBA-2024-6977