当前位置: 首页 > 面试题库 >

如何使用Pry在Docker中调试Rails应用程序?

罗兴运
2023-03-14
问题内容

我有一个Rails应用程序在开发环境中的docker容器中运行。

当我尝试通过binding.pry在代码中放置某个地方并将其附加到容器上来对其进行调试时,我可以pry在输出中看到提示,但提示不会暂停,并且无法像没有docker容器一样与之交互。

那么如何调试容器化应用程序?


问题答案:

如果您使用的是docker-compose,则可以将这些标志添加到docker-compose.yml

app:
  tty: true
  stdin_open: true

然后使用附加到您的过程docker attach project_app_1pry- rails现在在这里工作。确保less在您的容器上安装了最佳的撬动体验。

cf.
https://github.com/docker/compose/issues/423#issuecomment-141995398



 类似资料:
  • 这里是Dockerfile 和docker-compose.yml (对于ssh->在flow this链接https://docs.docker.com/engine/examples/running_ssh_service/) 3000/TCP->0.0.0.0:3000 将ssh连接到容器 ssh root@localhost-p 32768 通过删除docker-compose.yml中的

  • 问题内容: 我有一个在码头上运行的Jetty应用程序。我想使用本地IntelliJ调试此应用程序。我使用的是14.1版,因此我已经安装了Docker Integration插件。 在“云”下,我使用的是单击“ +”时显示的默认值。IntelliJ文档说这应该没问题。在这里 我不确定它们的用途,所以我不知道这些值是否正确。 在运行/调试配置下,我正在使用Docker部署,以及以下值: 当我尝试运行此

  • 我有一个简单的nodeJs应用程序,它使用快速框架。我可以在docker容器中成功运行这个应用程序。 我需要从VS代码远程调试这个应用程序如何做到这一点。 我在远程调试中采取的以下步骤 docker构建命令 docker运行命令 运行docker后,it控制台输出一条消息 调试器侦听127.0.0.1:5858 但是我无法从本地主机:8080访问节点应用程序,也无法从VScode进行调试。

  • 我为Rails配置Devise gem,在代码中看起来不错,但当我尝试注册新用户时,我遇到了问题。在注册表单中设计显示通知: 请查看以下问题: 但仅此而已。没什么特别的消息。我应该先找哪里?这样的东西怎么调试?有什么建议吗? 从rails服务器登录: 已于2014-09-14 17:09:13 0200开始对127.0.0.1进行POST“/auth/register”处理,由device::re

  • Sencha Touch 2是一个针对移动设备编写web或本机应用程序的框架。见:http://www.sencha.com/products/touch/ 我可以在标准的LAMP安装下快速制作开箱即用的应用程序,但当我尝试在一个活动的现有项目中使用Sencha和Rails时,事情很快就会崩溃。此外,我不能让它像大多数教程希望您做的那样放在根目录中。 我已经配置了足够的代码,允许应用程序坐在m.e

  • 我想调试一个Vaadin8应用程序,当我启动Gradle-Task“Vaadinrun”时,控制台会告诉我调试端口: 运行在http://localhost:8080上的应用程序(调试器在8000上) 有效的方法是将远程调试会话附加到端口8000,但奇怪的是,一定有更简单的方法。问题是怎么做? 智能点子:2017.2.5 分级:4.2.1 Gradle-Vaadin支持:com.devsoap.p