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