首页 > 解决方案 > 我在我的 Docker 容器上为 Django 应用程序安装 wkhtmltopdf 时遇到问题?

问题描述

我在我的 django 应用程序中使用 pdfkit,在我的机器上安装 wkhtmltopdf 后它似乎工作正常。但是,当我为生产应用程序构建一个 docker 映像并在本地运行它时,它给了我 docker 映像的操作系统错误。我已经尝试了在网上找到的所有内容,但似乎无法在我的 docker 容器上安装 wkhtmltopdf。这是我用于构建映像的 Docker 文件,这在安装软件包时会出错。

FROM python:3.6.9

RUN wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.1/wkhtmltox-0.12.1_linux-wheezy-amd64.deb
RUN dpkg -i ~/Downloads/wkhtmltox-0.12.1_linux-wheezy-amd64.deb

WORKDIR /usr/src/app
COPY requirements.txt ./
RUN pip install -r requirements.txt
COPY . .

EXPOSE 8000

CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]

这是我在构建图像时在终端中遇到的错误 在此处输入图像描述

这是docker中没有wkhtmltopdf的错误 在此处输入图像描述

标签: djangodockerdjango-viewsdockerfilewkhtmltopdf

解决方案


我想到了。我的 DockerFile 缺少一些代码。

FROM python:3.6.9

RUN wget https://s3.amazonaws.com/shopify-managemant-app/wkhtmltopdf-0.9.9-static-amd64.tar.bz2
RUN tar xvjf wkhtmltopdf-0.9.9-static-amd64.tar.bz2
RUN mv wkhtmltopdf-amd64 /usr/local/bin/wkhtmltopdf
RUN chmod +x /usr/local/bin/wkhtmltopdf


WORKDIR /usr/src/app
COPY requirements.txt ./
RUN pip install -r requirements.txt
COPY . .

EXPOSE 8000

CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]

现在图像运行良好


推荐阅读