我在为Django应用程序在我的Docker容器上安装wkhtmltopdf时遇到问题?

rkue9o1l  于 2022-11-26  发布在  Go
关注(0)|答案(2)|浏览(113)

我在我的django应用程序中使用pdfkit,在我的机器上安装wkhtmltopdf后,它似乎工作得很好。但是当我为我的应用程序构建一个用于生产的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时出现的错误

4ioopgfo

4ioopgfo1#

我发现了我的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"]

现在图像运行正常

siotufzp

siotufzp2#

这个Dockerfile可以与django和最新版本的wkhtmltopdf(0.12.6-1)一起使用

# pull official base image
FROM python:3.9-buster

RUN apt-get update \
    && apt-get install -y \
        curl \
        libxrender1 \
        libjpeg62-turbo \
        fontconfig \
        libxtst6 \
        xfonts-75dpi \
        xfonts-base \
        xz-utils
RUN curl "https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.buster_amd64.deb" -L -o "wkhtmltopdf.deb"

RUN dpkg -i wkhtmltopdf.de

# set work directory
WORKDIR /usr/src/app

# set environment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1

# install dependencies
RUN pip install --upgrade pip
COPY ./requirements.txt .

RUN pip install -r requirements.txt

# copy project
COPY . .

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

相关问题