У меня есть файл docker -compose.yml, в котором я настраиваю следующую службу:
- nginx (web) -> server_php_web_1
- php -fpm ( php) -> server_php_php_1
- mysql (db) -> server_php_db_1
My nginx обслуживают остальные API php через https и vhost: back- php .dev со связанными и рабочими сертификатами
извне docker я могу без проблем свернуть- php .dev
есть проверка каталога где я могу запустить тест при выполнении этой команды:
docker exec server_php_php_1 php /code/vendor/phpunit/bin /code/tests
Но когда я запускаю тесты, я получаю следующий результат:
GuzzleHttp\Exception\ConnectException: cURL error 6: Could not resolve host: back-php.dev
Я также попробовал следующее:
docker exec -it server_php_php_1 /bin/bash
curl server_php_web_1
И я могу успешно свернуть контейнер, работающий nginx, но как мне это сделать, если я хочу проверить следующий URL https://back-php.dev
Вот упрощенная структура docker -compose.yml:
services:
web:
image: nginx:latest
ports:
- "80:80"
- "443:443"
networks:
- code-network
extra_hosts:
- "back-php.dev:127.0.0.1"
links:
- php
php:
build: ./
networks:
- code-network
db:
image: mariadb:10.1
ports:
- "3306:3306"
environment:
- MYSQL_ROOT_PASSWORD=root
networks:
- code-network
networks:
code-network:
driver: bridge
И файл Docker, связанный с php:
FROM phpdockerio/php74-fpm
RUN apt update
RUN apt install -y \
php7.4-pdo \
php7.4-json \
php7.4-curl \
php7.4-mbstring \
php7.4-common \
php7.4-mysql
RUN echo "ENV_NAME=dev" >> /etc/php/7.4/cli/php.ini