Shu*_*ain 5 python shell multiple-processes docker dockerfile
我是 docker 新手,试图在 docker 中运行多个 python 进程。虽然不推荐,但它应该按照这里的建议工作“ https://docs.docker.com/engine/admin/multi-service_container/ ”
我的 Dockerfile :
FROM custom_image
MAINTAINER Shubham
RUN apt-get update -y
COPY . /app
WORKDIR /app
RUN pip install -r requirements.txt
ENTRYPOINT ["/bin/bash"]
CMD ["start.sh"]
Run Code Online (Sandbox Code Playgroud)
开始.sh:
nohup python flask-app.py &
nohup python sink.py &
nohup python faceConsumer.py &
nohup python classifierConsumer.py &
nohup python demo.py &
echo lastLine
Run Code Online (Sandbox Code Playgroud)
运行命令:
docker run --runtime=nvidia -p 5000:5000 out_image
Run Code Online (Sandbox Code Playgroud)
是否可以在没有 supervisord 或 docker-compose 的情况下运行多个进程?
更新:没有收到任何错误,只有“lastLine”正在打印并且 docker 容器退出。
你的问题是把一切都放在后台。您的容器启动,执行所有命令,然后在 CMD 进程完成时退出 - 尽管后台进程正在运行。Docker 不知道这一点。
您可以尝试在后台运行其他所有内容,但是然后
python demo.py
Run Code Online (Sandbox Code Playgroud)
就这样。假设 demo.py 不退出,这将导致进程保持活动状态。