在 运行 docker 容器内的库上命中本地 IDE 断点
Hitting local IDE breakpoints on libraries within a running docker container
我有一个包含以下行的 Dockerfile:
COPY requirements.txt requirements.txt
RUN pip3 install -r requirements.txt
我想在本地 IDE 中通过要求安装的库上设置一些断点。我想知道如何启动 docker 图像,以便可以从我的本地 IDE 访问这些文件。相关模块位于图像内:
/usr/local/lib/python3.7/site-packages
所以,我正在考虑使用这条线:
docker run \
-v site_pkgs:/usr/local/lib/python3.7/site-packages
--entrypoint python3 \
app-dev
但是,这似乎覆盖了容器目录,使其无法找到它期望的模块。有关如何在 运行 容器上执行此类调试的任何指导都将非常有帮助。谢谢!
a) 如果您只是想在容器中获取 python 包模块代码,并在您的本地 IDE 中有测试应用程序来调用这些模块。那么你就不需要运行这个容器了,只需要:
docker cp /usr/local/lib/python3.7/site-packages .
之后,这些 python 模块的 py 文件将位于您的本地(docker 主机)。然后你就可以使用你本地的IDE调试它们了,当然还有你自己的测试代码。
b) 如果你想使用本地 IDE 直接调试容器中的代码,那么 VSCode IDE
是你的选择。
注意:您需要使用 insiders build currently, as it's a pretty new feature also I think is a great feature.
参见 Developing inside a Container,vscode 使您能够在本地主机中设置 IDE,但仍然可以让 IDE 调试容器中的代码。
我有一个包含以下行的 Dockerfile:
COPY requirements.txt requirements.txt
RUN pip3 install -r requirements.txt
我想在本地 IDE 中通过要求安装的库上设置一些断点。我想知道如何启动 docker 图像,以便可以从我的本地 IDE 访问这些文件。相关模块位于图像内:
/usr/local/lib/python3.7/site-packages
所以,我正在考虑使用这条线:
docker run \
-v site_pkgs:/usr/local/lib/python3.7/site-packages
--entrypoint python3 \
app-dev
但是,这似乎覆盖了容器目录,使其无法找到它期望的模块。有关如何在 运行 容器上执行此类调试的任何指导都将非常有帮助。谢谢!
a) 如果您只是想在容器中获取 python 包模块代码,并在您的本地 IDE 中有测试应用程序来调用这些模块。那么你就不需要运行这个容器了,只需要:
docker cp /usr/local/lib/python3.7/site-packages .
之后,这些 python 模块的 py 文件将位于您的本地(docker 主机)。然后你就可以使用你本地的IDE调试它们了,当然还有你自己的测试代码。
b) 如果你想使用本地 IDE 直接调试容器中的代码,那么 VSCode IDE
是你的选择。
注意:您需要使用 insiders build currently, as it's a pretty new feature also I think is a great feature.
参见 Developing inside a Container,vscode 使您能够在本地主机中设置 IDE,但仍然可以让 IDE 调试容器中的代码。