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

有谁知道如何使pudb在docker容器中可用吗?

谢谢

最佳答案

  • 您需要在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

    10-06 01:57