如何debugging在docker容器内运行的rails应用程序

我正试图在使用docker的rails应用程序中执行debugging器。我们的应用程序服务器在Ubuntuterminal中执行:docker -compose up 。 我没有find运行debugging器的方法。 我们不能使用rails s –debugger。 有什么方法来debugging我们与docker集成的rails应用程序。 当我将debugging器保存在应用程序文件中时,我们在控制台中得到输出:{*****debugging器请求,但不可用(确保ruby-debug在Gemfile中列出/安装为gem):使用–debugger启动服务器以启用* ****}

我不知道ruby或铁轨,但这是docker-compose up一般“问题” docker-compose up 。 在这种情况下,代码执行不会停止在正在运行的容器中,而是在您为debugging器命中时失败。 您需要在前台运行服务:

 docker-compose stop <my-service-to-debug> docker-compose run --service-ports <my-service-to-debug> 

一旦你的代码达到了这一点,这将使你进入debugging器。 这里的重要组成部分是--service-ports标志,它确保相同的端口按照您在docker-compose.yml文件中指定docker-compose.yml 。 如果您不希望任何链接的容器重新启动,也可以使用--no-deps标志。