![Wie richte ich einen UBI8-Container ein, um PDF-Dokumente über Sphinx zu kompilieren?](https://rvso.com/image/168795/Wie%20richte%20ich%20einen%20UBI8-Container%20ein%2C%20um%20PDF-Dokumente%20%C3%BCber%20Sphinx%20zu%20kompilieren%3F.png)
Ich sehe, dass es hier ein Debian-basiertes Image gibt, das dies kann (https://hub.docker.com/r/sphinxdoc/sphinx-latexpdf), aber ich muss meine Lösung auf dem Red Hat UBI 8-Container-Image basieren. Welche Pakete muss ich installieren, damit dies auf dieser Plattform funktioniert? (Ich werde beim Erstellen auf einer RHEL-abonnierten Maschine sein.)
Ich beabsichtige, einen Datenträger mit meiner Dokumentation im restrukturierten Textformat bereitzustellen, und möchte, dass der Container HTML- und PDF-Ausgaben über Sphinx bereitstellt, so wie dies bei dem verknüpften Dokument „sphinxdoc/sphinx-latexpdf“ der Fall ist.
Antwort1
Die verschiedenen Anforderungen scheinen über die CodeReady-, AppStream- und Epel-Repos verteilt zu sein. Sie müssen all diese einrichten und dann scheint es, dass die Installation nahezu aller texlive-*
Pakete erforderlich ist. Ich habe die Liste dieser in texlive-requirements.txt abgelegt. Dann habe ich diese Docker-Datei erstellt und sie gebaut. Ich gehe auch davon aus, dass Sie einige Python-Anforderungen haben, die Sie in pip-requirements.txt einfügen können.
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
Dies sollte genauso funktionieren wie dasBild im Docker-Hub, das Sphinx bereitstellteinschließlich der Datenträgerbereitstellung und der Unterstützung von HTML- und LatexPDF-Builds.