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