
reitzig/texlive-base-luatex:
我们还提供概念验证(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中的文件。选择您当前未使用的文件夹名称。有关其他使用方式,请参见examples中的脚本。
在源目录中放置一个名为Texlivefile的文件,其中列出所需的CTAN包,每行一个名称。容器将在运行工作命令前安装该列表中的所有包。
⚠️ 一旦发布新版本的TeXlive,以这种方式安装依赖项将停止工作,错误如下:
tlmgr: Local TeX Live (2023) is older than remote repository (2024).
如果需要暂时继续使用旧镜像,可以通过设置环境变量TEXLIVE_REPOSITORY覆盖仓库,例如:
[***]
此功能从2024.2版本开始提供;有关如何向后移植到旧镜像的提示,请参见reitzig/texlive-docker#18.2022953222。
⚠️ 请注意,大多数CTAN镜像不维护历史版本(参见tex.SE#460132),因此请记住,广泛使用此解决方法将给少数维护历史版本的镜像带来压力。我们强烈建议尽快升级到最新的TeXlive版本!
ℹ️ 话虽如此,另一种方法是维护带有历史包版本的自定义Docker镜像。这种方法完全避免了在运行时执行tlmgr,因此仓库冻结不会影响您的构建。
您可以通过设置环境变量调整主容器脚本的一些默认值:
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替换为profiles中的任何配置文件名称,以从其他基线开始构建。
如果您反复需要完全相同的依赖项集甚至源文件,创建自己的TeXlive Docker镜像可能是有意义的。有两种方法:
使用您自己的Dockerfile扩展现有镜像之一(参见示例);安装额外的TeXlive(甚至Alpine)包,将源文件或额外脚本复制到适当的文件夹,修复工作命令,等等。
使用install-tl创建自己的TeXlive安装配置文件。确保:
x86_64-linuxmusl,并且binary_x86_64-linux 1更改为binary_x86_64-linux 0。
如果您想跨不同TeXlive版本使用您的配置文件,请将所有TeXlive版本的出现(例如2019)替换为${tlversion}。
将最终文件复制到profiles并运行常规构建命令。





探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务