Когда я пытаюсь запустить wkhtmltopdf (v 0.12.5) внутри контейнера докеров (который отлично работает, если я пытаюсь создать PDF-файл из внешнего URL-адреса (http://google.de), я получаю эту ошибку:
wkhtmltopdf http://app.local/web/app_dev.php/get/media media.pdf Loading pages (1/6) Error: Failed to load http://app.local/web/app_dev.php/get/media, with network status code 3 and http status code 0 - Host app.local not found Error: Failed loading page http://app.local/web/app_dev.php/get/media (sometimes it will work just to ignore this error with --load-error-handling ignore) Exit with code 1 due to network error: HostNotFoundError
Я предполагаю, что проблема в том, что сам контейнер не знает о записи /etc/hosts, которую я добавил на свой локальный компьютер.
127.0.0.1 app.local
Я запутался и застрял, потому что я не знаю, как это решить. Я использую symfony, но это не имеет особого значения, так как я получаю сообщение об ошибке выше, когда использую его внутри самого контейнера с помощью docker exec -it bash. Запуск скрипта без докера работает нормально.
Может ли кто-нибудь дать мне решение или подсказку, как заставить это работать?




Вы можете добавить хост в контейнеры /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
Хорошо, это хороший намек. Я забыл рассказать вам об использовании docker-compose и dockerfile. Но вы указали мне правильный путь, поэтому я нашел docs.docker.com/compose/compose-file/#extra_hosts, что я и собирался сделать :)