Docker Alpine Texlive

时间:2016-11-15 08:26:10

标签: docker

我想从我的工作目录生成带有docker文件的pdf,其中包含texlive

/***Dockerfile***/
FROM alpine
RUN sed -i -e 's/v3\.4/edge/g' /etc/apk/repositories
RUN echo 'http://dl-cdn.alpinelinux.org/alpine/edge/testing' >> /etc/apk/repositories

RUN apk update\
&& apk add texlive-full
WORKDIR ./mountvolume

/**Build Image**/
docker build -t texlive .

Docker Image的工作方式与expectetd类似,但是当尝试

docker run -v $PWD:/mountvolume texlive /bin/sh -c 'pdflatex article.tex'

我收到错误:

This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Alpine Linux) (preloaded format=pdflatex)
 restricted \write18 enabled.
  kpathsea: Running mktexfmt pdflatex.fmt
  Can't locate mktexlsr.pl in @INC (@INC contains: /usr/share/tlpkg    /usr/share/texmf-dist/scripts/texlive /usr/local/lib/perl5/site_perl /usr/local/share/perl5/site_perl /usr/lib/perl5/vendor_perl  /usr/share/perl5/vendor_perl /usr/lib/perl5/core_perl /usr/share/perl5/core_perl  .) at /usr/bin/mktexfmt line 23.

BEGIN failed--compilation aborted at /usr/bin/mktexfmt line 25.

我无法找到格式文件pdflatex.fmt

1 个答案:

答案 0 :(得分:2)

你的Dockerfile需要更复杂一点:见issue 4514

  

看起来texlive包不足以获得功能齐全的TeX系统(2015: fmtutil.pl depends on mktexlsr.pl

     

texlive长期以来一直在测试回购   但它缺少一些东西,最重要的是texlive-texmf。   如果你想今天使用texlive,你必须安装测试包,下载texlive-20160523b-texmf.tar.xz,将内容复制到/ usr / share / texmf-dist并重新安装测试包。

可是:

  

高山需要的是包装texlive-texmf   但是没有任何高级Linux开发人员已经研究过这个