Docker错误本地主机未发送任何数据

时间:2020-10-21 04:26:54

标签: ruby-on-rails docker

我和我的开发团队一直在使Ruby on Rails应用程序进行dockerize方面最困难。所有的教程和答案似乎都存在很久,因此已经过时了。

经过几天的研究并尝试了多种技术,我们终于找到了答案。所以,这篇文章是要问最近的问题并提供我们得到的答案。

在运行Ruby 2.7.0和Rails 6.0.3.4的新Ruby on Rails应用程序中,我们将能够运行Rails服务器并在localhost:3000处获得标准的Ruby屏幕。但是,在对应用程序进行docker化并转到localhost:8000(据称这是docker映像的默认端口)之后,我们将收到一条错误消息,指出localhost没有发送任何数据。

这是问题,什么原因导致这种情况发生?我们尝试了localhost127.0.0.1,甚至尝试了通过在终端中运行hostname而获得的本地计算机的名称。这些都无法在端口3000或端口8000上监听。

1 个答案:

答案 0 :(得分:0)

我们针对此问题提出的答案是,即使Docker正在查看端口3000,应用程序仍在说信息请求应来自端口8000。因此,我们进入config/puma.rb并更改了如下代码:

-port        ENV.fetch("PORT") { 3000 }
+port        ENV.fetch("PORT") { 8000 }

基本上,如果遇到相同的问题,请在puma.rb文件中查找指定端口3000的行,并将其更改为端口8000。一旦发生这种情况,我们就可以开展业务。

注意:上面代码中的-和+符号来自git存储库,显示第一行已删除,第二行已添加。这些符号不应在实际代码中。

祝你好运,编码愉快!