же образ, на котором построено само приложение или это занимает много памяти? Так вообще делают?) И не очень понятно - при запуске контейнера я указываю зависимость от контейнера php, но очередь все равно запускается, когда в php еще распаковывается композер. соответственно очередь не стартанет. Я сделал задержку в 90 сек. Но это же костыль? Зачем тогда директива depends on?
php:
build:
context: .
dockerfile: docker/php/Dockerfile
args:
APP_NAME: ${APP_NAME}
container_name: php
volumes:
- ./:/var/www/html/${APP_NAME}
depends_on:
- mysql
networks:
- laravel
queue:
build:
context: .
dockerfile: docker/php/Dockerfile
container_name: queue
restart: always
volumes:
- ./:/var/www/html/${APP_NAME}
entrypoint: sh -c 'sleep 90 && php /var/www/html/${APP_NAME}/artisan queue:work --verbose --tries=3'
depends_on:
- php
- mysql
networks:
- laravel
На каждый сервис обычно приходится один контейнер
depends on ждет запуска другого контейнера. И если у тебя бд сама по себе еще не успела прогрузиться, то решается обычно такими костылями как у тебя, иначе фейлед будет при загрузке)
Т.е. запуск другого контейнера - это не значит, что ждет пока все что в контейнере прогрузится?
Он об этом даже не знает
По сути ждет пока служба стартанет. Она же стартует? И ему этого достаточно
Обсуждают сегодня