【发布时间】:2018-07-30 18:54:58
【问题描述】:
我正在尝试在容器启动并运行后运行以下命令。
php artisan queue:work -n -q &
“&”之所以存在,是因为 daemon 选项已被弃用,后来从 Laravel 中删除。
但是,这完全破坏了我的容器启动。
CMD ["php", "artisan", "queue:work", "-n", "-q", "&"]
我应该如何以 Docker 的方式做到这一点?
编辑:
使用 docker-compose 我将此行添加到我的 docker-compose.yml 文件中
command: bash -c 'php artisan queue:work -n -q;'
容器已启动但未处理任何请求:S
使用这个:
command: bash -c 'php artisan queue:work -n -q &; echo "runs"; tail -f /dev/null'
容器启动后停止
最终解决方案
所以最后我想也许负责交付应用程序的服务器不应该是运行队列的服务器。
因此,我启动了同一个 docker 映像的另一个实例,其唯一目的是运行 artisan queue:work。
【问题讨论】:
-
启动同一个 docker 映像的另一个实例,其唯一目的是运行 artisan queue:work - ANSWER