ここでこれを行うことができる Debian ベースのイメージがあることがわかりました (https://hub.docker.com/r/sphinxdoc/sphinx-latexpdf) ですが、ソリューションのベースを Red Hat UBI 8 コンテナー イメージにする必要があります。このプラットフォームでこれを機能させるには、どのパッケージをインストールする必要がありますか? (ビルド時には、RHEL をサブスクライブしたマシンを使用します。)
私は、再構築テキスト形式のドキュメントを含むボリュームをマウントし、リンクされた sphinxdoc/sphinx-latexpdf ドキュメントと同じように、コンテナーが Sphinx 経由で HTML および PDF 出力を提供することを期待しています。
答え1
さまざまな要件が CodeReady、AppStream、Epel リポジトリに分散しているようです。これらすべてを設定する必要があり、その後、ほぼすべてのtexlive-*
パッケージをインストールする必要があるようです。それらのリストを texlive-requirements.txt に入れました。次に、この Dockerfile を作成してビルドしました。また、pip-requirements.txt に入れる Python 要件もいくつかあると思います。
FROM ubi8
WORKDIR /docs
# Setup Extra RPM repositories
# CodeReady Builder is an EPEL dependency and has several texlive-* packages
# Epel is a dependency of latexmk
RUN yum -y update \
&& yum -y install yum-utils \
&& yum-config-manager --enable codeready-builder-for-rhel-8-x86_64-rpms \
&& rpm --import http://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-8 \
&& yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
# Fill texlive-requirements.txt with all the packages in
# `yum list available|grep texlive` as run from a UBI8 container with
# the above repos provided
ARG deps="ImageMagick graphviz make wget enchant curl python3-pip latexmk"
ADD texlive-requirements.txt /tmp/yum.txt
RUN yum install -y $deps $(cat /tmp/yum.txt) && \
yum clean all
# For whatever python dependencies, put them in pip-requirements.txt
ADD pip-requirements.txt /tmp/requirements.txt
RUN pip3 install -r /tmp/requirements.txt
これは、Sphinxが提供するDocker Hubのイメージボリュームマウントを含み、HTML と LatexPDF の両方のビルドをサポートします。