您可以使用Python远程调试来实现这一点。打开配置窗口,单击+ - > Python的远程调试
然后您可以设置一个端口或保持空白Pycharm找到一个可用的端口。
然后点击调试图标启动调试服务器,下方会显示出一种消息
Starting debug server at port 57588
Use the following code to connect to the debugger:
import pydevd
pydevd.settrace('localhost', port=57588, stdoutToServer=True, stderrToServer=True)
Waiting for process connection...
的现在,你需要安装调试的PyDev内泊坞窗。你需要这个pycharm-debug-py3k.egg
。对我来说,我复制到我目前的Dockerfile文件夹,如下所示
cp "/Users/tarun.lalwani/Library/Application Support/IntelliJIdea2017.2/python/pycharm-debug-py3k.egg" .
您的位置将根据安装的IntelliJ版本而改变。在那之后,我们需要修改我们的Dockerfile
FROM python:3.6
WORKDIR /app
ENV PYTHONPATH=/app:/app/debug
COPY pycharm-debug-py3k.egg /app/debug
COPY debug_test.py /app/
CMD python debug_test.py
的debug_test.py
时建成后将有以下线在顶部
import pydevd
pydevd.settrace('docker.for.mac.localhost', port=55507, stdoutToServer=True, stderrToServer=True)
注:我已经使用docker.for.mac.localhost
因为我用泊坞窗的Mac,但如果使用Docker for windows,则使用docker.for.win.localhost
。对于工具箱或Linux,你将添加你的机器的IP地址
因为它是码头,我们可能想保持端口固定,而不是像我一样动态。现在我们构建docker文件并运行它。
这将打开pycharm一个弹出窗口中,单击自动检测检测源映射
,然后你将有你的代码breakpointed在你的文件的主线
您使用的是哪个主机操作系统? –
Windows是我的操作系统,容器是Linux – red888