使用docker在php-fpm chroot中dns解析失败

使用docker在php-fpm chroot中dns解析失败

使用 Docker,我尝试在 chroot 环境中设置nginx+ 。nextcloud:fpm

到目前为止,一切设置完毕,运行正常,只是软件报告无法连接到互联网,异常状态为Could not resolve host: www.github.com。提供 IP 地址会导致超时。

在 docker 容器上运行 curl 运行良好:docker exec nextcloud curl www.github.com当我在 bash 中以交互模式使用 php 时,它也能正常工作。此外,当我删除 chroot 并修复 nginx 中的路径时,它也能正常工作。

所以它一定与 php-fpm 配置有关,但我找不到它是什么。

这是我的 php 配置:

閣下網站

[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

我在 docker 中安装了以下卷以使 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 解析主机名时缺少什么。

相关内容