
sergiud/texlive本镜像基于TeX Live 2020版本构建,集成GNU make工具,提供完整的LaTeX文档编译环境与自动化构建能力。旨在解决LaTeX环境配置复杂、版本依赖冲突等问题,适用于本地开发、CI/CD流程集成等场景,无需在宿主环境手动安装TeX Live及相关工具链。
latex、pdflatex、xelatex、lualatex等编译工具,以及常用宏包(如amsmath、graphicx、hyperref等)。Makefile定义多步骤编译流程(如交叉引用处理、 bibliography生成、多文件合并等),实现自动化构建。Makefile定义技术手册、API文档的编译规则,实现"一键构建"。docker run)通过docker run命令启动容器,挂载本地文档目录至容器内工作目录(默认推荐/workspace),执行编译命令。
bash# 挂载当前目录(含document.tex)至容器/workspace,执行pdflatex编译 docker run --rm -v $(pwd):/workspace texlive2020-make pdflatex document.tex
--rm:容器退出后自动删除,避免残留容器。-v $(pwd):/workspace:将宿主当前目录挂载至容器/workspace,编译结果(如document.pdf)会保存在宿主当前目录。若文档编译涉及多步骤(如pdflatex→bibtex→pdflatex×2),可通过Makefile定义流程,在容器内执行make命令。
1. 本地创建Makefile(示例):
makefile# Makefile内容 PDF = document.pdf TEX = document.tex all: $(PDF) $(PDF): $(TEX) pdflatex $(TEX) bibtex $(basename $(TEX)) pdflatex $(TEX) pdflatex $(TEX) clean: rm -f *.aux *.log *.out *.bbl *.blg $(PDF)
2. 容器内执行make:
bash# 挂载当前目录(含Makefile和document.tex),执行make docker run --rm -v $(pwd):/workspace texlive2020-make make
make clean可清理编译中间文件:
bashdocker run --rm -v $(pwd):/workspace texlive2020-make make clean
如需在容器内进行多步操作(如调试编译错误),可启动交互式终端:
bashdocker run -it --rm -v $(pwd):/workspace texlive2020-make /bin/bash
进入容器后,工作目录默认切换至/workspace,可直接执行pdflatex、make等命令。
/workspace作为容器内工作目录,避免路径混乱。--user参数指定用户ID(与宿主当前用户ID一致):
bash# 获取宿主当前用户ID(通常为1000) echo $UID # 以指定用户ID启动容器,解决权限问题 docker run --rm -v $(pwd):/workspace --user $(id -u):$(id -g) texlive2020-make pdflatex document.tex
docker-compose配置示例适用于需要长期维护的文档项目,通过docker-compose.yml简化命令。
yaml# docker-compose.yml version: '3' services: texlive: image: texlive2020-make volumes: - ./docs:/workspace # 挂载宿主./docs目录至容器/workspace command: make # 默认执行make命令(可替换为具体编译命令)
启动服务:
bashdocker-compose up
tlmgr update,但建议优先使用镜像内置版本以保证一致性)。ctex宏包,可通过xelatex或lualatex编译中文文档(需在.tex文件中配置中文字体)。--memory=2g),避免编译过程中内存不足。



manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务