고유의 Dockerfile을 사용하여 사용자정의 빌드 배치 정보
기본 Dockerfile은 기본 이미지(fnproject/python:3.9-dev)에서 이미지를 빌드했으며 다양한 최신 버전의 종속 패키지가 누락되었을 수 있습니다. 생성된 Docker 이미지를 더 많이 제어하려면 고유의 Dockerfile을 생성할 수 있습니다. 함수를 작성하거나 배포할 때 OCI 함수는 사용자정의 Dockerfile의 지침을 사용하여 Docker 이미지를 빌드합니다.
모든 패키지 업데이트 정보
기본 Dockerfile을 복사하고 다음 명령을 포함하여 패키지를 최신 버전으로 업데이트합니다. 이 명령은 보안 업데이트를 포함하여 모든 패키지를 최신 버전으로 업데이트합니다.
func.yaml
파일이 포함된 디렉토리에 Dockerfile을 저장합니다.
RUN microdnf update
Dockerfile의 최종 버전은 다음과 같을 수 있습니다.
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"]