В моем приложении я разделил Docker-контейнеры для Nginx, MySQL, PHP и Supervisor. Но теперь мне нужно установить в супервизоре программу, которая запускает скрипт php. Можно ли вызвать php из другого контейнера?
РЕДАКТИРОВАТЬ
Пример:
Когда я запускаю программу супервизора test
тогда я вижу ошибку: INFO spawnerr: can't find command 'php'
, Я знаю что php не в контейнере supervisor
, но как я звоню из контейнера php
? И мне требуется тот же PHP, что и для приложения.
./app/test.php
<?php
echo "hello world";
докер-compose.yml
version: "2"
services:
nginx:
build: ./docker/nginx
ports:
- 8080:80
volumes:
- ./app:/var/www/html
links:
- php
- mysql
php:
build: ./docker/php
volumes:
- ./app:/var/www/html
ports:
- 9001:9001
mysql:
build: ./docker/mysql
ports:
- 3306:3306
volumes:
- ./data/mysql:/var/lib/mysql
supervisor:
build: ./docker/supervisor
volumes:
- ./app:/var/www/html
ports:
- 9000:9000
supervisor.conf
[program:test]
command = php /var/www/html/test.php
process_name = %(process_num)02d
numprocs = 1
autostart = false
autorestart = true
Пожалуйста, проверьте этот репо в GitHub
Я использовал угловой, ларавеллу и монго
с 3 контейнерами, для mongo, php-fpm и nginx, чтобы сделать прокси к api и угловой.
Угловая доза не использует контейнер nodejs, потому что я строю угловой ng build
и это из сборки в папке angular-dist.
Папка angular-src это ее исходный код angular
в папку laravel запустите команду composer install
, если вы используете Linux использование sudo chmod 777 -R laravel
Вы можете видеть это
и маршрут HTTP: // локальный: 8000 / API /
и маршрут HTTP: // локальный: 8000 / API / v1.0
Других решений пока нет …