如何在Docker构建中包含Poppler
我在用这个脚本把PDF文件转换成CBZ格式。在Windows上没问题,只需要把Poppler的bin文件夹加到PATH里就行了。
不过我想弄明白怎么在我的Dockerfile里安装Poppler(我是为了开发机器人)。
FROM python:3.8
RUN echo 'deb http://deb.debian.org/debian/ bullseye main contrib non-free' > /etc/apt/sources.list && \
apt-get update && apt-get install -y unrar
WORKDIR /app
COPY . /app
RUN pip install -r requirements.txt
CMD ["python", "app.py"]
我只需要在requirements.txt
里加上pip install python-poppler
就可以了吗?还是说我还需要单独安装其他东西?
1 个回答
0
我用这种方法在Docker里设置了Poppler。
Dockerfile
FROM python:3.8
RUN apt-get update && apt-get install -y \
wget \
tar \
cmake \
libnss3 \
libnss3-dev \
libcairo2-dev \
libjpeg-dev \
libgif-dev \
cmake \
libblkid-dev \
e2fslibs-dev \
libboost-all-dev \
libaudit-dev \
libopenjp2-7-dev \
g++ # Aggiunto il pacchetto g++
RUN wget https://poppler.freedesktop.org/poppler-21.09.0.tar.xz \
&& tar -xvf poppler-21.09.0.tar.xz \
&& cd poppler-21.09.0 \
&& mkdir build \
&& cd build \
&& cmake -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DTESTDATADIR=$PWD/testfiles \
-DENABLE_UNSTABLE_API_ABI_HEADERS=ON \
.. \
&& make \
&& make install
WORKDIR /app
COPY poppler.py /app/poppler.py
COPY requirements.txt /app/requirements.txt
RUN pip install -r requirements.txt
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
ENV PATH="/poppler-21.09.0/build/utils:${PATH}"
CMD ["python", "poppler.py"]