我更喜欢pudb进行python调试。我正在构建在docker容器内运行的python应用程序。
有没有人知道如何在docker容器中提供pudb?
谢谢
答案 0 :(得分:2)
RUN pip install pudb
)。 您需要打开要连接到pudb的端口。例如
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