Docker:Zip文件,但排除某些文件夹

时间:2019-08-03 13:59:34

标签: linux docker aws-lambda

以下是我的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中排除,那样便会更加灵活。你能帮我吗?

1 个答案:

答案 0 :(得分:1)

xargs可以帮助您

尝试这样的事情:

RUN cat .lambdaignore | xargs zip -r -9 -q /var/task/lambda.zip * -x

相关问题