dockerDocker 内の TeX Live

Docker

Dockerは、アプリケーションを隔離されたコンテナ内でパッケージ化および実行するための軽量で移植可能な方法を提供します。アプリケーションと必要な依存関係をすべて同梱することで、ラップトップから本番サーバーまで異なるマシン間で一貫した動作を保証します。

TeX Liveは強力ですが大きく、システムレベルの差異に敏感です。TeX LiveをDockerイメージ内にパッケージ化することで、LaTeXツールチェーンを予測可能で再現可能、配布が容易なものにできます。

しかし、一部のTeX Liveパッケージはシェルアクセスに依存します。セキュリティ上の理由から、コンテナはユーザーが任意のシェルコマンド(例えば \write18 やシェルエスケープ)を実行することを防ぐ制限された環境で実行するべきです。この分離はホストシステムを保護し、コンテナの基盤となるファイルシステムや bash.

TeXLive フルエディション

TeXLive-Full@ayaka-notesarrow-up-right は完全機能の 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-notesarrow-up-right サポート overleaf pro、次の環境変数を使用できます config/variables.env ファイル(もしあなたが) ツールキットユーザーarrow-up-right.

例えば:

TeX Live バージョン

GitHub Actionsのおかげで、すべてのtexイメージを並列にビルドできます。これには以下が含まれます:

  • ghcr.io/ayaka-notes/texlive-full:2025.1 (また latest タグ)

  • ghcr.io/ayaka-notes/texlive-full:2024.1

  • ghcr.io/ayaka-notes/texlive-full:2023.1

  • ghcr.io/ayaka-notes/texlive-full:2022.1

  • ghcr.io/ayaka-notes/texlive-full:2021.1

  • ghcr.io/ayaka-notes/texlive-full:2020.1

  • ghcr.io/ayaka-notes/texlive-full:base

我々はミラーアーカイブを ユタ大学arrow-up-rightから使用しており、これは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イメージに含まれています。

circle-exclamation

ライセンス

MIT

問題点

chevron-right問題01:フォントキャッシュミス問題hashtag

OverleafがLaTeXプロジェクトをコンパイルする際にフォントが欠けると、 コンパイルの進行が長時間かかることがあります。それはフォントが欠けた場合、texliveが試みるためです フォントキャッシュ全体を再構築することが。これは時間のかかるプロセスです。

我々のイメージでは、フォントキャッシュを事前構築しており、この問題を このコミットarrow-up-right

chevron-rightで修正しました。hashtag

問題02:Texの同期が極端に遅い

このイメージをShareLaTeXで使用する場合、texの同期が非常に遅いことに気付くかもしれません。 参照:arrow-up-righthttps://github.com/overleaf/overleaf/issues/1150

chevron-right、http 2.0を無効にしてください。hashtag

問題03:公式Texliveイメージでの再コンパイルエラー もしDocker Hubの公式texliveイメージを使用するとtexlive/texlive

、プロジェクトを再コンパイルした際にエラーが報告されることがあります。しかし、我々のイメージではこの問題は修正されています。なぜなら最新のUbuntuベースイメージを使用し、すべての依存関係をUbuntu公式リポジトリからインストールしているためです。

その他の技術的留意点

  • ビルド中(2019以前のtexlive)、以下の問題に注意する必要があるかもしれません: のみ/http ftp はtexlive 2017以前でサポートされているため、 https を使ってダウンロードすることはできません、 peal

  • スクリプトを変更しない限りです。2015年前はsha256ファイルのみが提供されていたため、sha512を使って検証することはできません。

最終更新