Docker在Pycharm中运行vagrant + remote python调试

时间:2016-06-19 14:55:37

标签: debugging docker vagrant pycharm

我在vagrant上运行docker并希望使用在Windows上运行的pycharm远程调试应用程序(运行vagrant)。当然,docker主机然后是vagrant - 而不是运行pycharm的同一台机器。

我必须将certificates文件夹和docker机器可执行文件指定为本地文件/目录。这是否意味着我无法在此设置中使用pycharm调试应用程序?

enter image description here

当然我可以直接进入docker容器但是我没有pycharm给我的功能。

2 个答案:

答案 0 :(得分:1)

有可能不建议,它有可能长期引入一些问题点并带来更大的安全风险。

根据docker文档...

enter image description here

如果您对安全风险感到满意,并且如果使用boot2docker的docker工具箱不适合您的情况,那么您需要确保:

  1. Docker客户端/服务器版本相同
  2. 设置本地流浪者邮箱的端口转发
  3. 添加docker服务器的TCP绑定,作为默认的unix套接字绑定的替代和/或另外。
  4. enter image description here

答案 1 :(得分:1)

pycharm无法远程调试,因为无法与无业游民的docker中的代码连接

在此之前,您需要使用带有流浪者的docker桥接端口。

  1. 您需要找到流浪者ip和docker ip(默认情况下,流浪者ip:10.0.2.2,您可以在运行vagrant ssh时看到)

  2. 第二个用于确定调试的端口(考试21000)

  3. 在终端中使用命令代码

    无用的ssh

    sudo iptables -t nat -A PREROUTING -p tcp --dport 21000 -j DNAT --to-destination 10.0.2.2:21000

    sudo iptables -t nat-邮政-j假面舞会

  4. 设置python文件的代码: 用您的docker ip更改172.19.0.1(无业游民)

    导入pydevd pydevd.settrace('172.19.0.1',port = 21000,suspend = False)

  5. 在代码上设置断点,然后尝试调试