首页 > 解决方案 > Docker Wkhtmltopdf HostNotFoundError

问题描述

当我尝试在 docker 容器内运行 wkhtmltopdf (v 0.12.5) 时(如果我尝试从外部 url ( http://google.de ) 生成 pdf 效果很好,我收到了这个错误:

wkhtmltopdf http://app.local/web/app_dev.php/get/media media.pdf 正在加载页面 (1/6) 错误:无法加载 http://app.local/web/app_dev.php/get/media , 网络状态代码 3 和 http 状态代码 0 - 找不到主机 app.local 错误:加载页面失败http://app.local/web/app_dev.php/get/media(有时它可以忽略此错误with --load-error-handling ignore) 由于网络错误退出代码 1:HostNotFoundError

我想问题是,容器本身不知道我在本地机器上添加的 /etc/hosts 条目

127.0.0.1 应用程序本地

我很困惑和卡住,因为我不知道如何解决这个问题。我使用 symfony,但这并不重要,因为当我通过 docker exec -it bash 在容器内部使用它时,我得到了上面的错误。在没有 docker 的情况下运行脚本可以正常工作。

谁能给我一个解决方案或提示如何让这个运行?

标签: symfonydockerdocker-composewkhtmltopdf

解决方案


您可以使用 将主机添加到容器/etc/hosts--add-host,请参阅

就像是:

$ docker run -it --add-host db-static:86.75.30.9 ubuntu cat /etc/hosts
172.17.0.22     09d03f76bf2c
fe00::0         ip6-localnet
ff00::0         ip6-mcastprefix
ff02::1         ip6-allnodes
ff02::2         ip6-allrouters
127.0.0.1       localhost
::1             localhost ip6-localhost ip6-loopback
86.75.30.9      db-static

推荐阅读