运行多个脚本并处理Docker



目前我dockerized了我的小python应用程序,似乎多个进程不能并行或同时运行。

当运行没有docker的应用程序时,我可以简单地打开两个终端并分别运行它们。在docker中如何实现呢?

runner.sh

#!/bin/bash
exec python3 cron.py //using from apscheduler.schedulers.blocking import BlockingScheduler
exec gunicorn -k eventlet -w 1 app:app -b :8082 // using python socketio

Dockerfile

COPY runner_script.sh runner_script.sh
RUN ["chmod", "+x", "runner_script.sh"]
CMD ./runner_script.sh

但是似乎只有第一个进程会被运行。

这与Docker无关。如果在本地工作站上运行此脚本,将得到相同的行为。不要使用exec。这就是第二个命令永远不会运行的原因。如果您取出exec关键字,那么您的两个命令应该一个接一个地运行。如果你想同时运行它们,那么你可以添加&在第一个命令的末尾,在后台运行它。

最新更新