Docker
Docker 提供了一种轻量且可移植的方式,用于在隔离的容器中打包和运行应用程序。通过将应用程序与所有必需的依赖项捆绑在一起,容器可确保其在不同机器上(从笔记本电脑到生产服务器)行为一致。 TeX Live 功能强大,但体积庞大,并且对系统层面的差异较为敏感。将 TeX Live 打包到 Docker 镜像中,可以使 LaTeX 工具链变得可预测、可复现且易于分发。 然而,某些 TeX Live 宏包依赖 shell 访问。出于安全考虑,容器应运行在受限环境中,防止用户执行任意 shell 命令(例如通过\write18 或 shell escape)。这种隔离可以保护宿主系统,并避免对容器底层文件系统或 bash 等工具的意外访问。
TeXLive 完整版
TeXLive-Full@ayaka-notes 是一个功能完备的 TeXLive Docker 镜像,专为 Ayakaleaf Pro、Overleaf CEP 中的沙盒 LaTeX 编译或独立的 LaTeX 编译环境而设计。 该镜像旨在提供一个几乎完整的 TeXLive 发行版,并预装常用字体和工具,以尽量减少因缺少宏包或字体而导致的编译失败。注意:该 Docker 镜像不包含任何 sharelatex/overleaf 组件,它仅用于 Overleaf/Overleaf Pro 的编译。特性:
- 🚀 同时支持 x86_64 和 arm64 服务器架构
- 📦 完整且经过优化的 TeXLive 安装
- 🧩 预装常用字体和实用工具
- 🐳 可直接配合 Docker 和 Docker Compose 使用
- 🧪 已在 Overleaf Server Pro / Overleaf Pro 上测试
- 🔄 随最新 TeXLive 版本定期更新
- 🏷 提供多个 TeXLive 版本标签(2020 – 最新)
- 🧑🔬 支持 Knitr,可在 LaTeX 文档中使用 R 代码
Ayakaleaf Pro 使用方法
Ayaka-notes 的 TeX Live Full 专为 ayakaleaf-pro 设计,如果你是 Toolkit 用户,可以在config/variables.env 文件中使用以下环境变量。
例如:
config/variables.env
TeX Live 版本
借助 GitHub Action,我们可以并行构建所有 TeX 镜像,包括:ghcr.io/ayaka-notes/texlive-full:2026.1(同时也是latest标签)ghcr.io/ayaka-notes/texlive-full:2025.1ghcr.io/ayaka-notes/texlive-full:2024.1ghcr.io/ayaka-notes/texlive-full:2023.1ghcr.io/ayaka-notes/texlive-full:2022.1ghcr.io/ayaka-notes/texlive-full:2021.1ghcr.io/ayaka-notes/texlive-full:2020.1ghcr.io/ayaka-notes/texlive-full:base
为什么不支持 TeX Live 2019 及更早版本? 维护这些旧镜像极其困难。此外,texlive.info 网站并未提供 2019 年之前发布的 TeX Live 版本的信息,因此我们无法为这些版本构建镜像。如果你需要某个特定的旧版本,请提交 issue 告诉我们。
包含的组件
Docker 镜像中包含以下软件包。- 所有 TeXLive 宏包(当年版本)
- R 软件包(仅部分精选)
- fontconfig inkscape pandoc python3-pygments wget python3
- gnupg gnuplot perl-modules perl ca-certificates
- ghostscript qpdf r-base-core tar
许可证
MIT常见问题
问题 01:字体缓存未命中问题
问题 01:字体缓存未命中问题
Overleaf 编译 LaTeX 项目时,如果出现字体缺失,你可能会发现编译过程耗时很长,这是因为当字体缺失时,TeX Live 会尝试重建整个字体缓存,这是一个非常耗时的过程。在我们的镜像中,我们已预先构建好字体缓存,并通过这个提交修复了该问题。
问题 02:SyncTeX 极其缓慢
问题 02:SyncTeX 极其缓慢
在 sharelatex 中使用此镜像时,你可能会发现 SyncTeX 极其缓慢。参见:https://github.com/overleaf/overleaf/issues/1150,只需禁用 HTTP 2.0 即可。
问题 03:使用官方 TeX Live 镜像时重新编译出错
问题 03:使用官方 TeX Live 镜像时重新编译出错
如果你使用 Docker Hub 上的官方 TeX Live 镜像
texlive/texlive,可能会发现重新编译项目时会报错。而在我们的镜像中,此问题已得到修复,因为我们使用最新的 Ubuntu 基础镜像,并从 Ubuntu 官方仓库安装所有依赖项。其他技术提示
在构建 TeX Live 镜像(2019 年之前)时,你可能需要注意以下问题:- TeX Live 2017 之前仅支持
http/ftp,因此无法使用https下载,除非你修改peal脚本。 - 2015 年之前仅提供 sha256 文件,因此无法使用 sha512 进行校验。

