从docker通过PHP连接到stream浪汉
我已经在ip 192.168.50.4
私人networking上启动了一个stream浪者API服务器。 在我的/etc/hosts
我把这个IP与api.project.dev
主机关联api.project.dev
。 我可以连接到api.project.dev
之外的api.project.dev
(例如使用浏览器)。
另外,我在api.dev
上启动了一个应用程序,它试图连接到api.dev
上的api:
docker run --rm -v "$PWD":/worker -w /worker yproximite/php7-cli php -r "echo file_get_contents('http://api.project.dev');"
但它不能收到响应,我有PHP Warning: file_get_contents(http://127.0.53.53): failed to open stream: Connection refused in Command line code on line 1
。 同时,它可以绕过PHP,通过ping
:
docker run --rm -v "$PWD":/worker -w /worker yproximite/php7-cli ping api.project.dev PING api.project.dev (127.0.53.53): 56 data bytes 64 bytes from 127.0.53.53: seq=0 ttl=64 time=0.048 ms 64 bytes from 127.0.53.53: seq=1 ttl=64 time=0.074 ms 64 bytes from 127.0.53.53: seq=2 ttl=64 time=0.085 ms 64 bytes from 127.0.53.53: seq=3 ttl=64 time=0.065 ms ^C --- api.project.dev ping statistics --- 4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max = 0.048/0.068/0.085 ms
我怎样才能让php像ping
一样工作?
stream浪者: 1.9.1
VirtualBox: 5.1.14 r112924 (Qt5.6.2)
Docker: 1.13.1, build 092cba3
macOS: Sierra 10.12.3 (16D32)
更新:我可以访问我的主机添加--add-host=api.project.dev:192.168.50.4
:
docker run --add-host=api.project.dev:192.168.50.4 --rm -v "$PWD":/worker -w /worker yproximite/php7-cli php -r "echo file_get_contents('http://api.project.dev');"
是否有可能从/etc/hosts
将外部主机添加到docker的/etc/hosts
中?