[英]FileNotFoundError Python-Flask/Docker in Kubernetes Cluster
[英]running two separate Python-Flask api via a single docker file
我想通過單個容器在不同端口上運行兩個不同的 python api 文件。
我的 docker 文件如下所示:
FROM python:3.7-slim-buster
RUN apt-get update && apt-get install -y libgtk2.0-dev cmake libpoppler-cpp-dev poppler-utils tesseract-ocr
WORKDIR /app
COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
RUN chmod a+x run.sh
CMD ["./run.sh"]
.sh 文件看起來像:
#!/bin/bash
exec python3 /app1/numberToWord.py &
exec python3 /app2/dollarToGbp.py &
雖然 docker 構建成功且沒有任何錯誤,但 docker 運行不會引發任何錯誤並退出命令行。 我很想知道它在哪里失敗,任何見解都受到高度贊賞。
嘗試使用nohup忽略掛斷信號
前任:
#!/bin/bash
nohup python3 /app1/numberToWord.py &
nohup python3 /app2/dollarToGbp.py &
運行容器時,可以指定要運行的特定命令。 您可以使用不同的命令從同一個映像運行兩個容器:
docker run -p 8000:8000 --name spelling -d image /app1/numberToWord.py
docker run -p 8001:8000 --name currency -d image /app2/dollarToGbp.py
這里的重點是每個容器在前台運行一個進程。
如果您的主命令腳本完成並退出,則容器也將退出。 您顯示的腳本僅啟動后台進程然后完成,完成后容器將退出。 需要有一些前台進程來保持容器運行,最簡單的方法是啟動您需要作為容器中唯一進程運行的主服務器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.