无法在 docker 容器中输入 ipdb 控制台
Can't type in ipdb console in docker container
我正在使用 docker-compose 来构建我的 docker 容器,并且 运行 容器带有 --service-ports
标志,如下所示:
docker-compose run --service-ports $(service_name) -d
当尝试使用 import ipdb; ipdb.set_trace()
在容器中的 python 脚本中调用 ipdb 时,ipdb 已初始化,但我无法在控制台中键入任何内容。我还必须手动重新启动终端会话才能停止它(CTRL+C
、CTRL+D
等什么都不做)。好像终端也没有冻结,因为我仍然可以向后滚动和聚焦/取消聚焦,光标也会改变外观。
这就是我的术语(我使用 iTerm
):
有什么解决办法吗?
结果归结为 ipdb
与 docker 容器中的 eventlet.monkey_patch
不兼容。
简单修复,切换到 pdbpp
:D
以下 link 对我也适用于 ipdb:
https://blog.lucasferreira.org/howto/2017/06/03/running-pdb-with-docker-and-gunicorn.html
我正在使用 docker-compose 来构建我的 docker 容器,并且 运行 容器带有 --service-ports
标志,如下所示:
docker-compose run --service-ports $(service_name) -d
当尝试使用 import ipdb; ipdb.set_trace()
在容器中的 python 脚本中调用 ipdb 时,ipdb 已初始化,但我无法在控制台中键入任何内容。我还必须手动重新启动终端会话才能停止它(CTRL+C
、CTRL+D
等什么都不做)。好像终端也没有冻结,因为我仍然可以向后滚动和聚焦/取消聚焦,光标也会改变外观。
这就是我的术语(我使用 iTerm
):
有什么解决办法吗?
结果归结为 ipdb
与 docker 容器中的 eventlet.monkey_patch
不兼容。
简单修复,切换到 pdbpp
:D
以下 link 对我也适用于 ipdb:
https://blog.lucasferreira.org/howto/2017/06/03/running-pdb-with-docker-and-gunicorn.html