我有以下shell脚本script.sh。 run_api(Rest api)和run_scheduler都在同一路径上。 run_api端点工作正常,但run_scheduler.py未执行。
#!/bin/bash
exec gunicorn --reload --bind 0.0.0.0:5000 run_api:application
python run_scheduler.py
然后是图像的docker文件。
FROM python:3.8
WORKDIR /app
COPY . /app
RUN chmod +x script.sh
CMD ["sh", "script.sh"]
然后 以下是docker run commond
docker run -itd --name test -p 8080:5000 image:latest
答案 0 :(得分:0)
gunicorn
作为阻塞进程在前台运行,因此不会让您的shell脚本转到下一行。
只需在末尾添加一个&
,它应该作为后台进程运行,如
#!/bin/bash
exec gunicorn --reload --bind 0.0.0.0:5000 run_api:application &
python run_scheduler.py