Laradock php fpm apache2文件\u获取\u内容连接被拒绝

Laradock php fpm apache2文件\u获取\u内容连接被拒绝,php,apache,docker,laradock,Php,Apache,Docker,Laradock,我已经使用多项目结构运行了laradock 7.0.0,其中包含以下容器: docker-compose up -d apache2 它将运行php fpm和apache2 我已将我的主机文件配置为连接到本地主机: /etc/hosts 127.0.0.1 myproject.local 我已经为我的apache2创建了一个站点配置: laradock/apache2/sites/myproject.conf <VirtualHost *:80> ServerName

我已经使用多项目结构运行了laradock 7.0.0,其中包含以下容器:

docker-compose up -d apache2
它将运行php fpm和apache2

我已将我的主机文件配置为连接到本地主机:

/etc/hosts

127.0.0.1    myproject.local
我已经为我的apache2创建了一个站点配置:

laradock/apache2/sites/myproject.conf

<VirtualHost *:80>
  ServerName myproject.local
  DocumentRoot /var/www/myproject/public/
  Options Indexes FollowSymLinks

  <Directory "/var/www/myproject/public/">
    AllowOverride All
    <IfVersion < 2.4>
      Allow from all
    </IfVersion>
    <IfVersion >= 2.4>
      Require all granted
    </IfVersion>
  </Directory>
</VirtualHost>
当转到myproject.local时,将显示网站。 到目前为止没有问题。但是,当我执行文件获取内容时,我得到的连接被拒绝:

$json = file_get_contents('http://myproject.local/test.json');
var_dump($json);
exit;
答复:

Warning: file_get_contents(http://myproject.local/test.json): failed to open stream: Connection refused in /var/www/myproject/public/test.json
php fpm似乎找不到apache2。当我获得apache2容器的ip地址时:

docker exec -ti laradock_apache2_1 bash
ifconfig
结果:

eth0 Link encap:Ethernet HWaddr 02:42:ac:16:00:04
inet addr:172.22.0.4
我在php fpm上修改hosts文件

docker exec -ti laradock_php-fpm_1 bash
nano /etc/hosts
添加规则:

172.22.0.4 myproject.local
比文件内容更有效。此修复程序的问题在于apache2容器的ip并不总是相同的。每一个项目我都要这样做

有没有办法修改Dockerfile或docker-compose.yml,以便一次将每个项目的php fpm链接到apache2?

现在有更好的解决方案。laradock/docker-compose.yml
服务:apache2:网络:前端:后端:别名:-myproject.local
172.22.0.4 myproject.local