我想在不同端口的docker中运行两个python应用程序。如何在docker中运行两个python应用程序
我的shell脚本下面,名字是serverRun.sh
exec python __server_code.py &
exec python server_time_test.py &
在dockerfile
,我试图运行这两个Python应用程序
RUN ["chmod", "+x", "./serverRun.sh"]
它没有工作。任何想法?
我想在不同端口的docker中运行两个python应用程序。如何在docker中运行两个python应用程序
我的shell脚本下面,名字是serverRun.sh
exec python __server_code.py &
exec python server_time_test.py &
在dockerfile
,我试图运行这两个Python应用程序
RUN ["chmod", "+x", "./serverRun.sh"]
它没有工作。任何想法?
你的shell脚本不能终止,因此具有较强的睡眠while循环内将其锁定。
Docker检测到入口点的终止并结束容器。
最终,您可能需要使用能够检测应用程序崩溃的入口点(bash或其他脚本语言),以便您的容器在失败时退出。
我为您发布了一个全功能的Bash入口点here,它完全可以做到这一点,等等。
看起来你的运行命令只是设置文件权限,它并不实际执行脚本。也许改变运行命令。
您必须在前台有一个进程。所以删除最后的&。不要在Dockerfile使用EXEC
cd /rfk-thrift/nlp_search
python __server_code.py &
python server_time_test.py
这:
RUN chmod +x ./serverRun.sh
CMD ./serverRun.sh
的RUN
指令生成过程中只引用。启动容器时它不会运行。你想使用ENTRYPOINT
或CMD
我更新了我的答案 – Fabien