首页 > 解决方案 > 在 Docker 容器上的 Rails 应用程序上出现错误“无法打开到 localhost:35729 的 TCP 连接”

问题描述

当我通过工头启动我的 Docker 容器上的 Rails 本地服务器时,我收到一条错误消息“无法打开与 localhost:35729 的 TCP 连接(无法分配请求的地址 - connect(2) 用于“localhost”端口 35729)”。我试图访问“localhost:5000”上的服务器。rails 服务器配置为托管在 localhost 的端口 5000 上。

至于 docker 容器,我通过运行 docker 命令从图像启动它

docker run -it --name <my-container-name> -p 5000:5000 -p 35729:35729 -v <host_project-directory>:/home <image-name> /bin/bash

为了将 docker 容器上的端口 35729 与主机的端口 35729 绑定。端口 5000 是这个 rails 应用程序配置为运行本地服务器的地方,所以我也将它与主机绑定。

我还通过启动容器并运行确认端口已绑定到本地计算机

docker port <my-container-name>

这给了我

35729/tcp -> 0.0.0.0:35729

5000/tcp -> 0.0.0.0:5000

所以我猜这不是端口绑定的问题。

为什么即使端口在 Docker 容器上打开并绑定到主机,我也会收到此错误消息?我很感激能够从主机连接到容器上运行的本地服务器的任何建议。

注:Rails 版本:4.2.11.1 Docker 容器:Debian GNU/Linux 9

错误页面

标签: ruby-on-railsdockerruby-on-rails-4

解决方案


推荐阅读