Назад | Перейти на главную страницу

Ошибка разрешения DNS в php-fpm chroot с использованием докера

Используя Docker, я пытаюсь настроить nginx + nextcloud:fpm в среде chroot.

Пока все настроено и работает, за исключением того, что программа сообщает, что не может подключиться к Интернету, в исключении указано Could not resolve host: www.github.com. Предоставление IP-адресов приводит к тайм-аутам.

Запуск curl в контейнере докеров работает нормально: docker exec nextcloud curl www.github.com и когда я использовал php в интерактивном режиме в bash, он тоже работал. Кроме того, когда я удалил chroot и исправил пути в nginx, это сработало.

Так что, должно быть, речь идет о конфигурации php-fpm, но я не могу найти, что это такое.

Это моя конфигурация для php:

www.conf

[www]
user = www-data
group = www-data
listen = 9000
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
chroot = /var/www/html

У меня есть следующие тома, смонтированные в докере для работы chroot: (они недоступны из nginx)

  - '/dev/urandom:/var/www/html/dev/urandom'
  - '/dev/null:/var/www/html/dev/null'
  - '/dev/zero:/var/www/html/dev/zero'
  - '/etc/timezone:/var/www/html/etc/timezone'
  - '/etc/resolv.conf:/var/www/html/etc/resolv.conf'
  - '/etc/hosts:/var/www/html/etc/hosts'
  - '/etc/host.conf:/var/www/html/etc/host.conf'
  - '/etc/nsswitch.conf:/var/www/html/etc/nsswitch.conf'
  - '/etc/localtime:/var/www/html/etc/localtime'
  - '/usr/share/zoneinfo:/var/www/html/usr/share/zoneinfo'

Я хотел бы знать, чего не хватает моему php для разрешения имен хостов.