2017-07-06 116 views
1

我想在不同端口的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"] 

它沒有工作。任何想法?

+0

我更新了我的答案 – Fabien

回答

0

你的shell腳本不能終止,因此具有較強的睡眠while循環內將其鎖定。

Docker檢測到入口點的終止並結束容器。

最終,您可能需要使用能夠檢測應用程序崩潰的入口點(bash或其他腳本語言),以便您的容器在失敗時退出。

我爲您發佈了一個全功能的Bash入口點here,它完全可以做到這一點,等等。

0

看起來你的運行命令只是設置文件權限,它並不實際執行腳本。也許改變運行命令。

0

您必須在前臺有一個進程。所以刪除最後的&。不要在Dockerfile使用EXEC

cd /rfk-thrift/nlp_search 
python __server_code.py & 
python server_time_test.py 

這:

RUN chmod +x ./serverRun.sh 
CMD ./serverRun.sh 
0

RUN指令生成過程中只引用​​。啓動容器時它不會運行。你想使用ENTRYPOINTCMD

相關問題