在docker容器内运行pudb

时间:2016-04-27 09:38:51

标签: python docker docker-compose pudb

我更喜欢pudb进行python调试。我正在构建在docker容器内运行的python应用程序。

有没有人知道如何在docker容器中提供pudb?

谢谢

1 个答案:

答案 0 :(得分:2)

  • 您需要在Docker容器上安装pudb(可以通过将以下行添加到Dockerfile中来完成:RUN pip install pudb)。
  • 您需要打开要连接到pudb的端口。例如

    • 对于Dockerfile:添加EXPOSE 6900
    • 对于docker-compose,语法是不同的:

      ports: - "6900:6900"

  • 您需要在set_trace上添加一行,以使入口点位于Python代码中。例如。 from pudb.remote import set_trace; set_trace(term_size=(160, 40), host='0.0.0.0', port=6900)

  • 当代码运行并到达该点时,您可以使用telnet客户端连接到该代码,并像通常进行调试一样使用pudb。在上述情况下,从另一个终端输入telnet 127.0.0.1 6900

您可以在此处找到带有完整工作示例的存储库:https://github.com/isaacbernat/docker-pudb