Ale*_*lex 6 python amazon-web-services docker aws-lambda serverless-framework
我有一个应该创建 PDF 报告的 Python Lambda 函数。我尝试添加一个自定义 Dockerfile 以在 Lambda 上安装 Latex 类似于https://github.com/samoconnor/lambdalatex 1
但该功能无法找到已安装的 Latex 文件。(Dockerfile末尾复制的文件template.tex就在那里)
我的 serverless.yaml:
plugins:
- serverless-python-requirements
custom:
pythonRequirements:
dockerizePip: non-linux
dockerFile: Dockerfile
Run Code Online (Sandbox Code Playgroud)
Dockerfile:
FROM lambci/lambda:build-python3.6
# The TeXLive installer needs md5 and wget.
RUN yum -y install perl-Digest-MD5 && \
yum -y install wget \
yum -y install latexmk
RUN mkdir /var/src
WORKDIR /var/src
# Download TeXLive installer.
ADD http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz /var/src/
#COPY install-tl-unx.tar.gz /var/src/
# Minimal TeXLive configuration profile.
COPY texlive.profile /var/src/
# Intstall base TeXLive system.
RUN tar xf install*.tar.gz
RUN cd install-tl-* && \
./install-tl --profile ../texlive.profile
ENV PATH=/var/task/texlive/2017/bin/x86_64-linux/:$PATH
# Install extra packages.
RUN tlmgr install xcolor \
tcolorbox \
pgf \
environ \
trimspaces \
etoolbox \
booktabs \
lastpage \
pgfplots \
marginnote \
tabu \
varwidth \
makecell \
enumitem \
setspace \
xwatermark \
catoptions \
ltxkeys \
framed \
parskip \
endnotes \
footmisc \
zapfding \
symbol \
lm \
sectsty \
stringstrings \
koma-script \
multirow \
calculator \
adjustbox \
xkeyval \
collectbox \
siunitx \
l3kernel \
l3packages \
helvetic \
charter \
latexmk
# Install latexmk.
RUN tlmgr install latexmk
# Remove LuaTeX.
RUN tlmgr remove --force luatex
# Remove large unneeded files.
RUN rm -rf /var/task/texlive/2017/tlpkg/texlive.tlpdb* \
/var/task/texlive/2017/texmf-dist/source/latex/koma-script/doc \
/var/task/texlive/2017/texmf-dist/doc
RUN mkdir -p /var/task/texlive/2017/tlpkg/TeXLive/Digest/ && \
mkdir -p /var/task/texlive/2017/tlpkg/TeXLive/auto/Digest/MD5/ && \
cp /usr/lib64/perl5/vendor_perl/Digest/MD5.pm \
/var/task/texlive/2017/tlpkg/TeXLive/Digest/ && \
cp /usr/lib64/perl5/vendor_perl/auto/Digest/MD5/MD5.so \
/var/task/texlive/2017/tlpkg/TeXLive/auto/Digest/MD5
FROM lambci/lambda:build-python3.6
WORKDIR /var/task
ENV PATH=/var/task/texlive/2017/bin/x86_64-linux/:$PATH
ENV PERL5LIB=/var/task/texlive/2017/tlpkg/TeXLive/
COPY template.tex /var/task/
Run Code Online (Sandbox Code Playgroud)
requirements.txt 中的 Python 需求运行良好。
以下是 Docker 部分的部署输出:
无服务器:从 Dockerfile 构建自定义 docker 镜像……无服务器:Docker 镜像:sls-py-reqs-custom
你知道我做错了什么吗?
归档时间: |
|
查看次数: |
436 次 |
最近记录: |