新しいLinuxマシンで、とりあえず日本語TeXを使えるようにするまでの時間は、ここ数年で信じられないほど短くなりました。Liveが2010で日本語に完全対応してくれたおかげです。Liveをインストールするだけ」となる以前、Linuxで日本語TeX環境を整備するのは、ほとんど腫物に障るようなものでした。ディストリビューションの各種パッケージから必要なものを適切な順番にインストール、フォントの実体ファイルへのシンボリックリンクをTEXMF以下に作成、mktexlsrを実行、otfパッケージを手動でインストール、mktexlsrを実行、dvipdfmxの設定ファイル群を編集、mktexlsrを実行。あのころのdvipdfmxはいろいろとひどかったのですが、日本語でPDFを作るときの現実的な選択肢がほかにはなかったのです。ところが2000年代後半になると、日本語TeX環境が思い出したように進化を再開します。具体的には、e拡張やUTF-8に対応したエンジンが登場してきました。dvipdfmの亜種のような扱いを受けながら鬼子となっていたdvipdfmxも、XeTeXで見直されたおかげか、まっとうなDVIウェアとして主要パッケージでネイティブ対応されるようになりました。おかげで不可解なバッドノウハウの数々がずいぶん不必要になったはずです。過去の環境で作ったドキュメントが負債にしかし前述したように、いったんうまく動くようになった日本語TeX環境に手を入れるのは、とくに業務で使っているとなかなか勇気がいることでした。必然的に、更新をさぼります。その結果、古い環境で作られたドキュメントがどんどんたまっていきます。e拡張なしではtikzが満足に使えなかったり、UTF-8でない原稿をバージョン管理するのはつらかったりで、いまでは現代的な日本語TeX環境に移行したのですが、そうなると今度は過去のドキュメントが負債としてのしかかってきます。過去のTeX環境で作ったドキュメントを当時と同じ見た目に再現しなければいけない場合、どうしても当時のマシン環境が必要です。過去の環境を仮想マシンとしてそのまま残して凌いできたものの、ディスクイメージだけで100G近くあるので、管理コストがバカになりません。作業としても、ドキュメントを編集するだけなのにOSをまるごとブートするというのは、どう考えても面倒くさい。過去の環境をDockerコンテナ化そこで、過去のマシンと同じ環境をDockerのコンテナとして作成することにしました。古いドキュメントの編集が必要なときには、この古い日本語TeX環境を閉じ込めたコンテナ内でPDFを作るようにすればよかろう、というわけです。いろいろなドキュメントに応じて必要となるパッケージはDockerfileを使ってそのつどインストールすることにすれば、コンテナ自体は最小の構成にしておけます。コンテナ化したいのはあくまでもTeX環境だけなので、仮想マシンと違って実体フォントをインストールする必要がないっていうのも利点です。実行すれば、コンテナ(の基になるイメージ)が生成できるとのことです。