我有一个Rails应用程序在开发环境中的docker容器中运行。
当我尝试通过binding.pry在代码中放置某个地方并将其附加到容器上来对其进行调试时,我可以pry在输出中看到提示,但提示不会暂停,并且无法像没有docker容器一样与之交互。
binding.pry
pry
那么如何调试容器化应用程序?
如果您使用的是docker-compose,则可以将这些标志添加到docker-compose.yml:
docker-compose.yml
app: tty: true stdin_open: true
然后使用附加到您的过程docker attach project_app_1。pry- rails现在在这里工作。确保less在您的容器上安装了最佳的撬动体验。
docker attach project_app_1
pry- rails
less
cf. https://github.com/docker/compose/issues/423#issuecomment-141995398