以下是我的Dockerfile
:
FROM lambci/lambda:build-python3.7
COPY lambda_function.py .
RUN python3 -m venv venv
RUN . venv/bin/activate
RUN pip install pystan==2.18
RUN pip install fbprophet
# Create zip
RUN pushd /var/task/venv/lib/python3.7/site-packages/
# Exclude folders in .lambdaignore
RUN zip -r -9 -q /var/task/lambda.zip *
RUN popd
RUN zip -9r lambda.zip lambda_function.py
您可以在我写的地方看到一条评论:
排除.lambdaignore中的文件夹
这就是我被困住的地方。在生成.zip文件之前。我要排除以下两个文件夹:
/var/task/venv/lib/python3.7/site-packages/pystan/stan/src
/var/task/venv/lib/python3.7/site-packages/pystan/stan/lib/stan_math/lib
理想情况下,我只是添加一个.lambdaignore文件,而每行仅从.zip中排除,那样便会更加灵活。你能帮我吗?
答案 0 :(得分:1)
xargs
可以帮助您
尝试这样的事情:
RUN cat .lambdaignore | xargs zip -r -9 -q /var/task/lambda.zip * -x