使用 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.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

我在 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 解析主機名稱時缺少什麼。

相關內容