运行 docker 容器内的 pudb
Running pudb inside docker container
我更喜欢使用 pudb 进行 python 调试。我正在 docker 容器内构建 运行 的 python 应用程序。
有人知道如何在 docker 容器中使用 pudb 吗?
谢谢
- 您需要在 Docker 容器上安装 pudb(这可以通过将此行添加到 Docker 文件来完成:
RUN pip install pudb
)。
您需要打开连接到 pudb 的端口。例如
- 对于 Docker 文件:添加
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
我更喜欢使用 pudb 进行 python 调试。我正在 docker 容器内构建 运行 的 python 应用程序。
有人知道如何在 docker 容器中使用 pudb 吗?
谢谢
- 您需要在 Docker 容器上安装 pudb(这可以通过将此行添加到 Docker 文件来完成:
RUN pip install pudb
)。 您需要打开连接到 pudb 的端口。例如
- 对于 Docker 文件:添加
EXPOSE 6900
。 对于docker-compose 语法不同:
ports: - "6900:6900"
- 对于 Docker 文件:添加
您需要在
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