Есть
docker-compose, в котором
nginx и
phpнаходятся в отдельный контейнерах
version: '3'
services:
php:
build:
context: ./docker/php
ports:
- ${PORT_PHP}:9000
volumes:
- ${PATH_PROJECT}:/srv/www/promo
- ${PATH_STATIC}:/srv/www/promo-static
- ./docker/php/www.conf:/usr/local/etc/php-fpm.d/www.conf
- ./docker/php/custom.ini:/usr/local/etc/php/conf.d/custom.ini
environment:
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
nginx:
image: nginx:1.13.8
ports:
- ${PORT_NGINX}:80
volumes:
- ${PATH_PROJECT}:/srv/www/promo
- ${PATH_STATIC}:/srv/www/promo-static
- ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf
depends_on:
- php
environment:
NGINX_HOST: ${NGINX_HOST}
PORT_PHP: ${PORT_PHP}
mysql:
image: mysql:5.7
ports:
- ${PORT_MYSQL}:3306
depends_on:
- php
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
В /system32/drivers/etc/hosts
127.0.0.1 promo.mdtest.org
В .env
...
PORT_PHP=9002
PORT_NGINX=8002
PORT_MYSQL=3308
promo.mdtest.org:8002/promo-static/build/css/compo... открывается в браузере, но не открывается при помощи curl в php скрипте.
Запрос через curl работает только при указании в php скрипте $_SERVER['SERVER_ADDR'] (172.19.0.4) вместо $_SERVER['HTTP_HOST'] (promo.mdtest.org:8002)
Как настроить
docker-compose, чтобы
curl работал аналогично браузеру?