스핑크스를 통해 PDF 문서를 컴파일하기 위해 UBI8 컨테이너를 설정하는 방법은 무엇입니까?

스핑크스를 통해 PDF 문서를 컴파일하기 위해 UBI8 컨테이너를 설정하는 방법은 무엇입니까?

여기에 이 ​​작업을 수행하는 데비안 기반 이미지가 있는 것을 보았습니다(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

이것은 다음과 같아야합니다스핑크스에서 제공하는 도커 허브의 이미지볼륨 장착을 포함하고 HTML 및 LatexPDF 빌드를 지원합니다.

관련 정보