以下是我的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
你可以看到我写的一条评论:
Exclude folders in .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 中排除,这样会更灵活。你能帮我吗?
最佳答案
xargs
可以帮助您
尝试这样的事情:
RUN cat .lambdaignore | xargs zip -r -9 -q/var/task/lambda.zip * -x
关于linux - Docker:压缩文件但排除某些文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57339006/