【问题标题】:Wkhtmltopdf in a Dokku app?Dokku 应用程序中的 Wkhtmltopdf?
【发布时间】:2015-04-27 02:08:00
【问题描述】:

我有一个 NodeJS/Express Dokku 容器。我正在尝试使用仅从 shell 运行 wkhtmltopdf 命令的节点模块,但找不到 wkhtmltopdf。

有人有这方面的经验吗?

【问题讨论】:

    标签: docker wkhtmltopdf dokku


    【解决方案1】:

    您需要检查wkhtmltopdf 是如何安装在该映像中的。

    node-wkhtmltopdf issues 32中所述:

    wkhtmltopdf 命令在非 Windows 系统上作为 shell 命令执行。
    确保/usr/local/bin 目录在您的$PATH 变量中。通过运行来做到这一点:

    $ sh
    sh-3.2$ which wkhtmltopdf    # Or try:
    sh-3.2$ echo $PATH
    sh-3.2$ exit
    

    (在你的情况下,你可以做一个sudo docker exec -it <containerIdOrName> sh

    同样的问题补充道:

    我最终做的是downloading the dmg directly from wkhtmltopdf,这似乎起到了作用。

    这意味着您可能必须从当前图像创建一个新图像,以这种方式安装 wkhtmltopdf(使用 dmg 包)

    jsonfry 将 wkhtmltopdf 安装为服务容器意味着什么:openlabs/docker-wkhtmltopdf-aas 说明了安装过程。

    【讨论】:

    • 我从 Ubuntu .deb 安装了它,所以我的 /usr/local/bin 中有 wkhtmltopdf,我可以从 shell 以 root 身份运行它。我认为问题在于,当我在 root 下安装它时,Docker 容器看不到它,但我不确定如何以 Docker 容器可以看到的方式安装它?
    • @Pancakes 你是安装在主机上,还是安装在带有 dockerfile 的 docker 镜像中?
    • 我将它安装在主机上,而不是在 docker 映像中。我将如何在 docker 映像中安装软件包?抱歉,我是 Docker 新手,对 Linux 相对缺乏经验。
    • @Pancakes 您可以在registry.hub.docker.com/u/openlabs/docker-wkhtmltopdf/… 中看到一个示例:dockerfile 可以构建一个可以作为容器运行的映像,以便使用wkhtmltopdf 拥有一个隔离(且可重现)的环境在里面。
    • 当然,其实很简单。有人已经制作了一个 dockerfile,它基本上为您完成了所有工作。只需按照此处的说明进行操作:github.com/openlabs/docker-wkhtmltopdf-aas
    【解决方案2】:

    我遇到了和你一样的问题。我不想在另一个容器中运行 wkhtmltopdf,也不想更改代码以使用远程调用。由于使用 apt-get 插件下载 wkhtmltopdf 可能会导致包抛出错误,因此我创建了一个新插件,该插件应该为您在 dokku 容器中设置 wkhtmltopdf。

    它是使用 MIT 许可证授权的,所以你可以随意做任何你想做的事情。希望它会对某人有所帮助。

    网址:https://github.com/mbriskar/dokku-wkhtmltopdf

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-15
      • 1970-01-01
      相关资源
      最近更新 更多