
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
为TeXlive创建可用且普遍适用的Docker镜像的又一次尝试。
基本概念是提供轻量级基础镜像,在需要时从CTAN安装额外包。
这些镜像尝试覆盖以下用例:
我们目前基于安装程序建议的TeXlive集合的不同选择发布以下镜像(从小到大):
我们还提供概念验证(PoCs),以演示可基于此处提供的基础镜像构建更复杂的应用:
最快的一次性构建当前文档的方法如下:
bashdocker run --rm \ --volume `pwd`:/work/src:ro \ --volume `pwd`/out:/work/out \ reitzig/texlive-base-luatex \ work lualatex hello_world.tex
注意:
texlive-base-luatex镜像之外的所有TeXlive包都列在Texlivefile中。如果您愿意下载(大得多的)镜像,也可以使用reitzig/texlive-full镜像。out中的文件。选择您当前未使用的文件夹名称。有关其他使用方式,请参见https://github.com/reitzig/texlive-docker/blob/master/examples中的脚本。
在源目录中放置一个名为Texlivefile的文件,其中列出所需的CTAN包,每行一个名称。容器将在运行工作命令前安装该列表中的所有包。
⚠️ 一旦发布新版本的TeXlive,以这种方式安装依赖项将停止工作,错误如下:
tlmgr: Local TeX Live (2023) is older than remote repository (2024).
如果需要暂时继续使用旧镜像,可以通过设置环境变量TEXLIVE_REPOSITORY覆盖仓库,例如:
https://ftp.math.utah.edu/pub/tex/historic/systems/texlive/2023/tlnet-final
此功能从2024.2版本开始提供;有关如何向后移植到旧镜像的提示,请参见https://github.com/reitzig/texlive-docker/issues/18#issuecomment-2022953222%E3%80%82
⚠️ 请注意,大多数CTAN镜像不维护历史版本(参见tex.SE#460132),因此请记住,广泛使用此解决方法将给少数维护历史版本的镜像带来压力。我们强烈建议尽快升级到最新的TeXlive版本!
ℹ️ 话虽如此,另一种方法是维护带有历史包版本的自定义Docker镜像。这种方法完全避免了在运行时执行tlmgr,因此仓库冻结不会影响您的构建。
您可以通过设置环境变量调整https://github.com/reitzig/texlive-docker/blob/master/entrypoint.sh的一些默认值:
BUILDSCRIPT(默认:build.sh)TEXLIVEFILE(默认:Texlivefile)OUTPUT(默认:*.pdf *.log)工作命令的所有输出都收集在一个文件夹中;使用以下命令提取:
bashdocker cp $container:/work/tmp ./
运行以下命令在本地构建镜像:
bashdocker build -t texlive-base-luatex --build-arg "profile=base-luatex" .
将base-luatex替换为https://github.com/reitzig/texlive-docker/blob/master/profiles中的任何配置文件名称,以从其他基线开始构建。
如果您反复需要完全相同的依赖项集甚至源文件,创建自己的TeXlive Docker镜像可能是有意义的。有两种方法:
使用您自己的Dockerfile扩展现有镜像之一(参见https://github.com/reitzig/texlive-docker/blob/master/examples/Dockerfile);安装额外的TeXlive(甚至Alpine)包,将源文件或额外脚本复制到适当的文件夹,修复工作命令,等等。
使用install-tl创建自己的TeXlive安装配置文件。确保:
x86_64-linuxmusl,并且binary_x86_64-linux 1更改为binary_x86_64-linux 0。
如果您想跨不同TeXlive版本使用您的配置文件,请将所有TeXlive版本的出现(例如2019)替换为${tlversion}。
将最终文件复制到https://github.com/reitzig/texlive-docker/blob/master/profiles并运行常规构建命令。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务