您可以使用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