Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 我有一个python脚本在kubernetes吊舱的容器中运行。如何停止随着吊舱启动而运行的脚本?_Python 3.x_Docker_Flask_Kubernetes_Python Multithreading - Fatal编程技术网

Python 3.x 我有一个python脚本在kubernetes吊舱的容器中运行。如何停止随着吊舱启动而运行的脚本?

Python 3.x 我有一个python脚本在kubernetes吊舱的容器中运行。如何停止随着吊舱启动而运行的脚本?,python-3.x,docker,flask,kubernetes,python-multithreading,Python 3.x,Docker,Flask,Kubernetes,Python Multithreading,我在Kubernetes吊舱的容器中运行两个线程,一个线程将一些数据推送到db,另一个线程烧瓶应用程序显示来自数据库的数据。因此,一旦pod启动main.py,就会调用上面提到的两个线程 Docker文件: FROM python:3 WORKDIR /usr/src/app COPY app/requirements.txt . RUN pip install -r requirements.txt COPY app . CMD ["python3","

我在Kubernetes吊舱的容器中运行两个线程,一个线程将一些数据推送到db,另一个线程烧瓶应用程序显示来自数据库的数据。因此,一旦pod启动main.py,就会调用上面提到的两个线程

Docker文件:

FROM python:3

WORKDIR /usr/src/app

COPY app/requirements.txt .

RUN pip install -r requirements.txt

COPY app .

CMD ["python3","./main.py"]
我有两个问题:

日志是查看正在运行的脚本输出的唯一方法吗?当它在终端上运行时,我们不能连续看到它的输出吗

此外,我无法通过进入容器来运行相同的main.py文件。它抛出以下错误:

如何停止与pod一起启动的main.py脚本,并能够直接从容器本身运行main.py


谢谢。

错误消息显示:

OSError: [Errno 98] Address already in use (edited)
看起来python脚本试图打开同一端口两次。你不能那样做。检查代码并修复它

现在回答你的另一个问题:

日志是查看正在运行的脚本输出的唯一方法吗?当它在终端上运行时,我们不能连续看到它的输出吗


运行kubectl logs-f将跟随日志,这将让您在终端中运行时连续看到输出。

从CMD停止main.py基本上会停止容器的主进程,因此将杀死容器和吊舱。也许您想让该进程保持独立,而是用另一个端口运行另一个main.py实例?pod启动后,它将启动容器,然后调用main.py,因为api连接导致出现错误,脚本停止。现在,当我尝试进入容器并运行python3 main.py时,我遇到了上述错误。如何停止与pod创建一起启动的main.py?在代码中,我没有两次访问同一个端口。它在docker中工作得很好。有没有办法杀死从pod开始的main.py脚本并从容器中运行python3 main.py而不杀死pod?不,你不能交换进程。实际上,您在容器中访问同一端口两次,然后运行python3 main.py。一个main.py进程已在运行。当您启动第二个进程时,它将导致错误,因为它试图绑定到另一个进程已保留的端口。好的,谢谢。
OSError: [Errno 98] Address already in use (edited)