如何使用docker创建应用程序,并且仍然在主机上运行psutil



对不起,伙计们,我对Python还很陌生。我正在通过Docker创建一个应用程序,该应用程序监视计算机上运行的某个应用程序的cpu使用情况,它使用psutil。然而,当我运行应用程序时,它不起作用,因为它使用Docker容器系统等。我想知道这是否可能?这是我的Dockerfile,我正在mac上工作。我读过关于挂载的文章,但我真的不明白怎么做。

FROM python:3.9
RUN apt-get update -y && 
apt-get install -y python3-pip python3-dev
COPY requirements.txt .
WORKDIR /

RUN pip3 install -r requirements.txt

COPY . /

CMD ["python", "app/dbfile.py" ]

您需要直接在主机系统上运行此工具,可能是在Python虚拟环境中。你不能在Docker中运行它,尤其是在MacOS上。

Docker容器通常旨在与其主机系统隔离。在容器中运行的进程看不到自己容器之外的进程,因此主机进程监视工具看不到它需要监视的主机进程。在MacOS上,这是双重真实的,因为容器运行在一个隐藏的(Linux(虚拟机中;即使您可以禁用Docker-pid名称空间,您仍然无法看到VM到monitor(MacOS(主机进程的外部。

最新更新