使用 docker 进行开发 - 如何从不同的本地主机端口获取数据
Development with docker - how to fetch data from a different localhost port
我的 docker 设置非常简单
version: '3.7'
services:
php:
build: ./docker/php
ports: ['9000:9001']
volumes:
- ./symfony/:/var/www/symfony:cached
nginx:
build: docker/nginx
restart: unless-stopped
ports:
- "7000:80"
volumes:
- ./docker/var/nginx:/var/log/nginx:cached
- ./symfony/:/var/www/symfony:cached
所以http://localhost:7000是我的发展路线。
在这里 php 我尝试从另一个本地 docker 安装中获取 api 端口 8000(或端口 80)。
$result = file_get_contents('http://localhost:8000');
$result = file_get_contents('http://localhost');
-> Warning: ... failed to open stream: Address not available
但真正的 url 工作正常
$result = file_get_contents('https://www.google.de')
我不明白这是怎么回事。
如果有任何帮助,我将非常高兴。
使用它来获取容器 ip:
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name
使用它来获取主机 ip:
$(主机名 -I| awk '{printf $1}')
$result = file_get_contents('http://host_ip:8000');
我的 docker 设置非常简单
version: '3.7'
services:
php:
build: ./docker/php
ports: ['9000:9001']
volumes:
- ./symfony/:/var/www/symfony:cached
nginx:
build: docker/nginx
restart: unless-stopped
ports:
- "7000:80"
volumes:
- ./docker/var/nginx:/var/log/nginx:cached
- ./symfony/:/var/www/symfony:cached
所以http://localhost:7000是我的发展路线。 在这里 php 我尝试从另一个本地 docker 安装中获取 api 端口 8000(或端口 80)。
$result = file_get_contents('http://localhost:8000');
$result = file_get_contents('http://localhost');
-> Warning: ... failed to open stream: Address not available
但真正的 url 工作正常
$result = file_get_contents('https://www.google.de')
我不明白这是怎么回事。 如果有任何帮助,我将非常高兴。
使用它来获取容器 ip: docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name
使用它来获取主机 ip: $(主机名 -I| awk '{printf $1}')
$result = file_get_contents('http://host_ip:8000');