5

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

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

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

这就是我的术语的样子(我使用iTerm): 在此处输入图像描述

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

4

2 回答 2

2

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

简单修复,切换到pdbpp:D

于 2016-11-28T13:46:20.830 回答
1

以下链接也适用于 ipdb:

https://blog.lucasferreira.org/howto/2017/06/03/running-pdb-with-docker-and-gunicorn.html

于 2018-02-27T07:52:27.050 回答