我正在使用 docker-compose 构建我的 docker 容器,并使用 --service-ports 标志运行容器,如下所示:

docker-compose run --service-ports $(service_name) -d

当尝试使用 import ipdb; ipdb.set_trace() 在容器中的 python 脚本中调用 ipdb 时,ipdb 已初始化,但我无法在控制台中输入任何内容。我还必须手动重新启动终端 session 以停止它( CTRL+CCTRL+D 等什么都不做)。也不是终端已经卡住,因为我仍然可以向后滚动,并且在聚焦/不聚焦时光标也会改变外观。

这就是我的术语(我使用 iTerm ):
python - 无法在 docker 容器中输入 ipdb 控制台-LMLPHP

任何想法如何解决这一问题?

最佳答案

事实证明,它归结为 ipdb 与 docker 容器中的 eventlet.monkey_patch 不兼容。

简单修复,切换到 pdbpp :D

关于python - 无法在 docker 容器中输入 ipdb 控制台,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40834092/

10-16 18:14