Docker 内の TeX Live
Docker
Dockerは、アプリケーションを隔離されたコンテナ内でパッケージ化および実行するための軽量で移植可能な方法を提供します。アプリケーションと必要な依存関係をすべて同梱することで、ラップトップから本番サーバーまで異なるマシン間で一貫した動作を保証します。
TeX Liveは強力ですが大きく、システムレベルの差異に敏感です。TeX LiveをDockerイメージ内にパッケージ化することで、LaTeXツールチェーンを予測可能で再現可能、配布が容易なものにできます。
しかし、一部のTeX Liveパッケージはシェルアクセスに依存します。セキュリティ上の理由から、コンテナはユーザーが任意のシェルコマンド(例えば \write18 やシェルエスケープ)を実行することを防ぐ制限された環境で実行するべきです。この分離はホストシステムを保護し、コンテナの基盤となるファイルシステムや bash.
TeXLive フルエディション
TeXLive-Full@ayaka-notes は完全機能の TeXLive Dockerイメージ で、特に Overleaf Server Pro、Overleaf Pro、さらにはCIやパイプラインのような単独のLaTeXコンパイル環境向けに設計されています。
このイメージは、共通のフォントやツールを事前インストールしたほぼ完全なTeX Live配布を提供することを目指しており、パッケージやフォントの欠如によるコンパイル失敗を最小限にします。
特徴:
📦 ほぼ完全なTeX Liveインストール
🧩 共通のフォントとユーティリティを事前インストール
🐳 DockerおよびDocker Composeですぐに使用可能
🧪 Overleaf Server Pro / Overleaf Pro / Overleaf CEP等でテスト済み
🏷 複数のバージョンタグ(2020 – 最新)
Overleaf Proでの使用
TeXLive-Full@ayaka-notes サポート overleaf pro、次の環境変数を使用できます config/variables.env ファイル(もしあなたが) ツールキットユーザー.
例えば:
TeX Live バージョン
GitHub Actionsのおかげで、すべてのtexイメージを並列にビルドできます。これには以下が含まれます:
ghcr.io/ayaka-notes/texlive-full:2025.1(またlatestタグ)ghcr.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
我々はミラーアーカイブを ユタ大学から使用しており、これは1996年から2024年に及ぶほぼすべてのtexliveイメージを含みます。さらにOverleafのDockerfileのおかげで、このプロジェクトをより速くビルドできます。
なぜtexlive 2019以前がサポートされていないのか?
そのようなイメージを維持することは非常に困難です。また、それらは古すぎてもう使われない可能性が高いと考えています。必要であれば、issueを開いて知らせてください。
含まれるコンポーネント
以下のパッケージがdockerイメージに含まれています。
fontconfig inkscape pandoc python3-pygments wget python3
gnupg gnuplot perl-modules perl ca-certificates git
ghostscript qpdf r-base-core tar
以下のフォントがdockerイメージに含まれています。
該当するフォントが商用利用可能かどうかを必ず確認してください。我々は 責任を負いません フォントの誤った使用から生じるいかなる法的問題についても。イメージをダウンロードした時点で、これに自動的に同意したものとみなされます。
ライセンス
MIT
問題点
問題01:フォントキャッシュミス問題
OverleafがLaTeXプロジェクトをコンパイルする際にフォントが欠けると、 コンパイルの進行が長時間かかることがあります。それはフォントが欠けた場合、texliveが試みるためです フォントキャッシュ全体を再構築することが。これは時間のかかるプロセスです。
我々のイメージでは、フォントキャッシュを事前構築しており、この問題を このコミット
で修正しました。
問題02:Texの同期が極端に遅い
このイメージをShareLaTeXで使用する場合、texの同期が非常に遅いことに気付くかもしれません。 参照:https://github.com/overleaf/overleaf/issues/1150
、プロジェクトを再コンパイルした際にエラーが報告されることがあります。しかし、我々のイメージではこの問題は修正されています。なぜなら最新のUbuntuベースイメージを使用し、すべての依存関係をUbuntu公式リポジトリからインストールしているためです。
その他の技術的留意点
ビルド中(2019以前のtexlive)、以下の問題に注意する必要があるかもしれません:
のみ/httpftpはtexlive 2017以前でサポートされているため、httpsを使ってダウンロードすることはできません、pealスクリプトを変更しない限りです。2015年前はsha256ファイルのみが提供されていたため、sha512を使って検証することはできません。
最終更新