Для решения этой проблемы, нужно создать дополнительную сеть, с драйвером
bridge, в стаке с сервисами к которым вы хотите предоставить доступ (подключиться).
После создания сети, нужно указать какие контейнеры должы подключиться к сети во время запуска, что бы получить к ним доступ из другого стака.
Пример:
docker-compose.laravel.yml
services:
mysql:
image: ...
networks:
- default
- my_private_network
redis:
image: ...
networks:
- default
- my_private_network
networks:
my_private_network:
name: my_private_network
driver: bridge
docker-compose.lumen.yml
php-fpm:
image: ...
networks:
- default
- my_private_network
networks:
my_private_network:
external: true
name: my_private_network
- В первом стаке мы создаем новую сеть, и подключаем нужные нам контейнеры;
- Во втором стаке мы объявляем о существовании сети которая была создана ранее, и так же подключаем наш php-fpm контейнер, к этой сети, что бы коммуницировать с другими контейнерами по сети;
После этого, в стаке для
Lumen вы можете смело подключиться к контейнерам mysql, redis по их алиасам, как и ранее:
Lumen .env
DB_HOST=mysql
REDIS_HOST=redis
Успехов!